diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2013-03-21 18:56:52 -0400 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2013-03-21 18:56:52 -0400 |
commit | 9bb3596f972cb89ff43554d6d69153f8fde835ca (patch) | |
tree | afc8d05c5ac07180a53005385777823e7617e5f8 | |
parent | 6d5c9b4a6c56bd109b0563cecae447d6480aec66 (diff) |
FIX: Ignore SIG_BUDGET until explicitly unblocked.
The SIG_BUDGET should be ignored until the user
code is ready for them, even if that code has
already set up a signal handler.
-rw-r--r-- | src/syscalls.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/syscalls.c b/src/syscalls.c index 12fe485..d3ca5d8 100644 --- a/src/syscalls.c +++ b/src/syscalls.c | |||
@@ -19,6 +19,12 @@ pid_t gettid(void) | |||
19 | 19 | ||
20 | int set_rt_task_param(pid_t pid, struct rt_task *param) | 20 | int set_rt_task_param(pid_t pid, struct rt_task *param) |
21 | { | 21 | { |
22 | if (param->budget_signal_policy != NO_SIGNALS) { | ||
23 | /* drop all signals until they're explicitly activated by | ||
24 | * user code. */ | ||
25 | ignore_litmus_signals(SIG_BUDGET); | ||
26 | } | ||
27 | |||
22 | return syscall(__NR_set_rt_task_param, pid, param); | 28 | return syscall(__NR_set_rt_task_param, pid, param); |
23 | } | 29 | } |
24 | 30 | ||