diff options
author | Mathis Beer <Mathis.Beer@funkwerk-itk.com> | 2020-03-11 14:19:47 +0100 |
---|---|---|
committer | Mathis Beer <Mathis.Beer@funkwerk-itk.com> | 2020-03-12 06:43:33 +0100 |
commit | 796b30bebf5a74ac73ad506da8576e3445090131 (patch) | |
tree | 17742911ed3caf2c42b9c01fb4a1228a6230a2c5 | |
parent | 70d26ec15cd202689659d0d4977372b726afc4fc (diff) | |
download | libfaketime-796b30bebf5a74ac73ad506da8576e3445090131.tar.gz |
use pthread_sigmask instead of sigprocmask
pthread_sigmask is the one meant for threaded programs.
-rw-r--r-- | src/libfaketime.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/libfaketime.c b/src/libfaketime.c index 1a498d8..d9f1fc0 100644 --- a/src/libfaketime.c +++ b/src/libfaketime.c @@ -2637,7 +2637,7 @@ static void pthread_cleanup_mutex_lock(void *data) { struct LockedState *state = data; pthread_mutex_unlock(&state->mutex); - sigprocmask(SIG_SETMASK, &state->original_mask, NULL); + pthread_sigmask(SIG_SETMASK, &state->original_mask, NULL); } #endif @@ -2672,8 +2672,7 @@ int fake_clock_gettime(clockid_t clk_id, struct timespec *tp) // block all signals while locked. prevents deadlocks if signal interrupts in in mid-operation. sigset_t all_signals; sigfillset(&all_signals); - sigprocmask(SIG_SETMASK, &all_signals, &state.original_mask); - + pthread_sigmask(SIG_SETMASK, &all_signals, &state.original_mask); pthread_mutex_lock(&state.mutex); pthread_cleanup_push(pthread_cleanup_mutex_lock, &state); #endif |