Default tick interval was 50ms, change it to 20ms
[ghc-hetmet.git] / rts / posix / Select.c
index ccf3945..fb7f38d 100644 (file)
@@ -10,6 +10,7 @@
 /* #include "PosixSource.h" */
 
 #include "Rts.h"
+#include "Storage.h"
 #include "Schedule.h"
 #include "RtsUtils.h"
 #include "RtsFlags.h"
@@ -60,7 +61,7 @@ wakeUpSleepingThreads(lnat ticks)
     rtsBool flag = rtsFalse;
 
     while (sleeping_queue != END_TSO_QUEUE &&
-          (int)(ticks - sleeping_queue->block_info.target) > 0) {
+          (int)(ticks - sleeping_queue->block_info.target) >= 0) {
        tso = sleeping_queue;
        sleeping_queue = tso->link;
        tso->why_blocked = NotBlocked;
@@ -207,7 +208,7 @@ awaitEvent(rtsBool wait)
           * serviced.
           */
 #if defined(RTS_USER_SIGNALS)
-         if (signals_pending()) {
+         if (RtsFlags.MiscFlags.install_signal_handlers && signals_pending()) {
              startSignalHandlers(&MainCapability);
              return; /* still hold the lock */
          }