From db01af35020403053cc0d124670033f61a04aaf2 Mon Sep 17 00:00:00 2001 From: Martine Lenders <mail@martine-lenders.eu> Date: Tue, 24 Nov 2015 09:43:04 +0100 Subject: [PATCH] sema: deactivate interrupts for queue manipulation --- sys/sema/sema.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/sema/sema.c b/sys/sema/sema.c index 53962a1e72..b9ae892a97 100644 --- a/sys/sema/sema.c +++ b/sys/sema/sema.c @@ -102,11 +102,12 @@ int sema_wait_timed_msg(sema_t *sema, uint64_t timeout, msg_t *msg) restoreIRQ(old_state); msg_receive(msg); - + old_state = disableIRQ(); if (timeout != 0) { xtimer_remove(&timeout_timer); } priority_queue_remove(&sema->queue, &n); + restoreIRQ(old_state); if (msg->content.ptr != (void *)sema) { return -EAGAIN; } -- GitLab