diff options
-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 |