[m-rev.] for review: hang in lowlevel parallel grade
Julien Fischer
juliensf at cs.mu.OZ.AU
Wed Jun 28 17:13:09 AEST 2006
On Wed, 28 Jun 2006, Peter Wang wrote:
>
> Estimated hours taken: 6
> Branches: main, release
>
> This patch fixes a bug with lowlevel parallel grades. A program built in such
> a grade could hang when running with multiple threads.
>
> runtime/mercury_context.c:
> After scheduling a Mercury context, use MR_BROADCAST to wake up all
> idle threads instead of MR_SIGNAL, if the newly scheduled context might
> not be accepted for execution by any single woken thread. The hang
> used to occur when a context was scheduled but the wrong idle thread
> was woken up to execute it (because the context is 'owned' by another
> thread) and promptly went back to idling.
>
> runtime/mercury_thread.h:
> Add MR_BROADCAST macros.
>
Is there a test case for this?
Julien.
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list