[PATCH 18/19] posix: Remove superfluous thread dispatch disable

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Apr 29 09:13:18 UTC 2016


The _Thread_queue_Enqueue_critical() already deals with thread
dispatching.

Update #2555.
---
 cpukit/posix/src/sigtimedwait.c | 26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/cpukit/posix/src/sigtimedwait.c b/cpukit/posix/src/sigtimedwait.c
index 8f5693b..77dbe53 100644
--- a/cpukit/posix/src/sigtimedwait.c
+++ b/cpukit/posix/src/sigtimedwait.c
@@ -150,20 +150,18 @@ int sigtimedwait(
 
   the_info->si_signo = -1;
 
-  _Thread_Disable_dispatch();
-    executing->Wait.return_code     = EINTR;
-    executing->Wait.option          = *set;
-    executing->Wait.return_argument = the_info;
-    _Thread_queue_Enqueue_critical(
-      &_POSIX_signals_Wait_queue.Queue,
-      POSIX_SIGNALS_TQ_OPERATIONS,
-      executing,
-      STATES_WAITING_FOR_SIGNAL | STATES_INTERRUPTIBLE_BY_SIGNAL,
-      interval,
-      EAGAIN,
-      &lock_context
-    );
-  _Thread_Enable_dispatch();
+  executing->Wait.return_code     = EINTR;
+  executing->Wait.option          = *set;
+  executing->Wait.return_argument = the_info;
+  _Thread_queue_Enqueue_critical(
+    &_POSIX_signals_Wait_queue.Queue,
+    POSIX_SIGNALS_TQ_OPERATIONS,
+    executing,
+    STATES_WAITING_FOR_SIGNAL | STATES_INTERRUPTIBLE_BY_SIGNAL,
+    interval,
+    EAGAIN,
+    &lock_context
+  );
 
   /*
    * When the thread is set free by a signal, it is need to eliminate
-- 
1.8.4.5



More information about the devel mailing list