diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-09-07 19:52:01 -0400 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-09-07 19:52:01 -0400 |
commit | 12587122ff78adffa2e8bcb571962d8f19365fb9 (patch) | |
tree | b3f115c35e1b4dead71c1fac5fac0619a8d10b22 /src | |
parent | 0d7304546493b31f1e454191c33a5f95e92b4b57 (diff) |
Updated sporadic_task() to take sig policy.
Also changed the LITMUS_TRY/LITMUS_CATCH/END_LITMUS_TRY macros
to use if/else-if chains instead of switch statements. This is
because SIGRTMAX is a variable in libc and not a compile-time
constant (switches cant be used).
Diffstat (limited to 'src')
-rw-r--r-- | src/litmus.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/litmus.c b/src/litmus.c index d3cc6bb..aaaeee3 100644 --- a/src/litmus.c +++ b/src/litmus.c | |||
@@ -43,15 +43,19 @@ int be_migrate_to(int target_cpu) | |||
43 | 43 | ||
44 | int sporadic_task(lt_t e, lt_t p, lt_t phase, | 44 | int sporadic_task(lt_t e, lt_t p, lt_t phase, |
45 | int cpu, task_class_t cls, | 45 | int cpu, task_class_t cls, |
46 | budget_policy_t budget_policy, int set_cpu_set) | 46 | budget_policy_t budget_policy, |
47 | budget_signal_policy_t budget_signal_policy, | ||
48 | int set_cpu_set) | ||
47 | { | 49 | { |
48 | return sporadic_task_ns(e * NS_PER_MS, p * NS_PER_MS, phase * NS_PER_MS, | 50 | return sporadic_task_ns(e * NS_PER_MS, p * NS_PER_MS, phase * NS_PER_MS, |
49 | cpu, cls, budget_policy, set_cpu_set); | 51 | cpu, cls, budget_policy, budget_signal_policy, set_cpu_set); |
50 | } | 52 | } |
51 | 53 | ||
52 | int sporadic_task_ns(lt_t e, lt_t p, lt_t phase, | 54 | int sporadic_task_ns(lt_t e, lt_t p, lt_t phase, |
53 | int cpu, task_class_t cls, | 55 | int cpu, task_class_t cls, |
54 | budget_policy_t budget_policy, int set_cpu_set) | 56 | budget_policy_t budget_policy, |
57 | budget_signal_policy_t budget_signal_policy, | ||
58 | int set_cpu_set) | ||
55 | { | 59 | { |
56 | struct rt_task param; | 60 | struct rt_task param; |
57 | int ret; | 61 | int ret; |
@@ -67,6 +71,7 @@ int sporadic_task_ns(lt_t e, lt_t p, lt_t phase, | |||
67 | param.cls = cls; | 71 | param.cls = cls; |
68 | param.phase = phase; | 72 | param.phase = phase; |
69 | param.budget_policy = budget_policy; | 73 | param.budget_policy = budget_policy; |
74 | param.budget_signal_policy = budget_signal_policy; | ||
70 | 75 | ||
71 | if (set_cpu_set) { | 76 | if (set_cpu_set) { |
72 | ret = be_migrate_to(cpu); | 77 | ret = be_migrate_to(cpu); |