projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix build (sorry, forgot to push with previous patch)
[ghc-hetmet.git]
/
rts
/
posix
/
Select.c
diff --git
a/rts/posix/Select.c
b/rts/posix/Select.c
index
0dbacef
..
fb7f38d
100644
(file)
--- a/
rts/posix/Select.c
+++ b/
rts/posix/Select.c
@@
-10,6
+10,7
@@
/* #include "PosixSource.h" */
#include "Rts.h"
/* #include "PosixSource.h" */
#include "Rts.h"
+#include "Storage.h"
#include "Schedule.h"
#include "RtsUtils.h"
#include "RtsFlags.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 &&
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;
tso = sleeping_queue;
sleeping_queue = tso->link;
tso->why_blocked = NotBlocked;
@@
-126,7
+127,7
@@
awaitEvent(rtsBool wait)
min = 0;
} else if (sleeping_queue != END_TSO_QUEUE) {
min = (sleeping_queue->block_info.target - ticks)
min = 0;
} else if (sleeping_queue != END_TSO_QUEUE) {
min = (sleeping_queue->block_info.target - ticks)
- * TICK_MILLISECS * 1000;
+ * RtsFlags.MiscFlags.tickInterval * 1000;
} else {
min = 0x7ffffff;
}
} else {
min = 0x7ffffff;
}
@@
-207,7
+208,7
@@
awaitEvent(rtsBool wait)
* serviced.
*/
#if defined(RTS_USER_SIGNALS)
* serviced.
*/
#if defined(RTS_USER_SIGNALS)
- if (signals_pending()) {
+ if (RtsFlags.MiscFlags.install_signal_handlers && signals_pending()) {
startSignalHandlers(&MainCapability);
return; /* still hold the lock */
}
startSignalHandlers(&MainCapability);
return; /* still hold the lock */
}