From: simonpj Date: Wed, 26 Oct 2005 14:53:30 +0000 (+0000) Subject: [project @ 2005-10-26 14:53:30 by simonpj] X-Git-Tag: Initial_conversion_from_CVS_complete~123 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=e8a78f0f56786df40eb1d6476822c78e549f0ab1 [project @ 2005-10-26 14:53:30 by simonpj] awaitRequests: blocked_queue_tl was being set to NULL rather than END_TSO_QUEUE if the thread being removed was at the end of the queue. This bug has been in the code since 2003 - I have absolutely no idea why it hasn't manifested until today. --- diff --git a/ghc/rts/win32/AsyncIO.c b/ghc/rts/win32/AsyncIO.c index 6881275..b8cbf28 100644 --- a/ghc/rts/win32/AsyncIO.c +++ b/ghc/rts/win32/AsyncIO.c @@ -280,7 +280,7 @@ start: blocked_queue_hd = tso->link; } if (blocked_queue_tl == tso) { - blocked_queue_tl = prev; + blocked_queue_tl = prev ? prev : END_TSO_QUEUE; } /* Terminates the run queue + this inner for-loop. */