about summary refs log tree commit diff
path: root/src/time/timer_create.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/time/timer_create.c')
-rw-r--r--src/time/timer_create.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/time/timer_create.c b/src/time/timer_create.c
index ee6a9c9d..b54a524c 100644
--- a/src/time/timer_create.c
+++ b/src/time/timer_create.c
@@ -55,8 +55,6 @@ static void install_handler()
 		.sa_flags = SA_SIGINFO | SA_RESTART
 	};
 	__libc_sigaction(SIGTIMER, &sa, 0);
-	__syscall(SYS_rt_sigprocmask, SIG_UNBLOCK,
-		SIGTIMER_SET, 0, _NSIG/8);
 }
 
 static void *start(void *arg)
@@ -72,6 +70,8 @@ static void *start(void *arg)
 
 	pthread_barrier_wait(&args->b);
 	if ((id = self->timer_id) >= 0) {
+		__syscall(SYS_rt_sigprocmask, SIG_UNBLOCK,
+			SIGTIMER_SET, 0, _NSIG/8);
 		__wait(&self->timer_id, 0, id, 1);
 		__syscall(SYS_timer_delete, id);
 	}