Thread::cond_wait bug in 5.005.51 causes deadlock
authorDrago Goricanec <drago@raptor.otsd.ts.fujitsu.co.jp>
Mon, 7 Sep 1998 17:36:09 +0000 (02:36 +0900)
committerGurusamy Sarathy <gsar@cpan.org>
Wed, 23 Sep 1998 09:38:18 +0000 (09:38 +0000)
Message-Id: <199809070836.RAA14631@raptor.otsd.ts.fujitsu.co.jp>

p4raw-id: //depot/perl@1839

ext/Thread/Thread.xs

index 48f8aa0..a4bff69 100644 (file)
@@ -483,6 +483,7 @@ CODE:
            croak("cond_wait for lock that we don't own\n");
        }
        MgOWNER(mg) = 0;
+       COND_SIGNAL(MgOWNERCONDP(mg));
        COND_WAIT(MgCONDP(mg), MgMUTEXP(mg));
        while (MgOWNER(mg))
            COND_WAIT(MgOWNERCONDP(mg), MgMUTEXP(mg));