]> rtime.felk.cvut.cz Git - frescor/frsh.git/blobdiff - frsh_api/frsh_thread.c
Deadline miss notification signals API changed
[frescor/frsh.git] / frsh_api / frsh_thread.c
index 5fa687c38e2ea753d963901ae5db6fc977187dcd..b40407295d4699dfc6810e0338d29f124af8087c 100644 (file)
@@ -288,3 +288,29 @@ int frsh_service_thread_get_data
        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;
+}