return FRSH_ERR_NOT_IMPLEMENTED;
}
+int frsh_vres_set_notification(
+ frsh_vres_id_t vres,
+ const frsh_signal_t budget_overrun_signal,
+ const frsh_signal_info_t budget_overrun_siginfo,
+ const frsh_signal_t deadline_miss_signal,
+ const frsh_signal_info_t deadline_miss_siginfo)
+{
+ fres_block_basic *b;
+
+ /* deadline and period must be coherent between each other */
+ b = fres_contract_get_basic(vres->allocated);
+
+ /* signal delivery can only be requested for BUONDED workloads */
+ if (b &&
+ (b->workload == FRSH_WT_INDETERMINATE &&
+ (deadline_miss_signal != FRSH_NULL_SIGNAL ||
+ budget_overrun_signal != FRSH_NULL_SIGNAL)))
+ return FRSH_ERR_BAD_ARGUMENT;
+
+ /* TODO - handle overrun and deadline signals */
+/* vres->budget_overrun_signal = budget_overrun_signal; */
+/* vres->budget_overrun_siginfo = budget_overrun_siginfo; */
+/* vres->deadline_miss_signal = deadline_miss_signal; */
+/* vres->deadline_miss_siginfo = deadline_miss_siginfo; */
+ return FRSH_ERR_NOT_IMPLEMENTED;
+}