diff options
author | Simon Marlow <simonmar@microsoft.com> | 2007-07-18 09:27:54 +0000 |
---|---|---|
committer | Simon Marlow <simonmar@microsoft.com> | 2007-07-18 09:27:54 +0000 |
commit | 843211e0a54b051ecec5d5fbbf6afa27dfa5fd81 (patch) | |
tree | 76c2c7a5af863dfb59dd536dc967b38cc567ad83 /rts/posix | |
parent | 48fb2b521898998a17873ad6cf30610aa5ab6db3 (diff) | |
download | haskell-843211e0a54b051ecec5d5fbbf6afa27dfa5fd81.tar.gz |
wakeUpSleepingThreads: fix off by one
The symptom of this bug is after the time of a threadDelay has
expired, the RTS does a whole slew of extra select() calls.
This should help with #1523, but it's not the whole story.
Diffstat (limited to 'rts/posix')
-rw-r--r-- | rts/posix/Select.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/posix/Select.c b/rts/posix/Select.c index 57599bcee4..fb7f38de35 100644 --- a/rts/posix/Select.c +++ b/rts/posix/Select.c @@ -61,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; |