dotgnu-pnet
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dotgnu-pnet] Delegates serialization


From: Thông Nguyễn
Subject: Re: [Dotgnu-pnet] Delegates serialization
Date: Thu, 7 Jan 2010 16:30:53 +0000

Hmm...I think I wrote that a while ago.  If Thread.CanStartThreads() returns false how can there be any other thread that waits for call completion?

On Thu, Jan 7, 2010 at 7:44 AM, Speziale Ettore <address@hidden> wrote:
Hi,
I think I've found a bug in the AsyncResult class implemetation.

When a delegate is asynchronously invoked the runtime can chose to exec
the call in the current thread context (Thread.CanStartThreads() returns
false).

After the call has been performed, the constructor of AsyncResult.cs
does not signal the event associated with the call.

As result, any thread that waits for the call completion via the event
will be indefinitivily blocked, because the event is never signalled.

I have found the bug on the stable release (0.8.0) using the ILDJIT
dynamic compiler. I've patched AsyncResult.cs:

89a90
>                               ((ISignal)AsyncWaitHandle).Signal();

This line allows to properly waits for call termination inside the
ILDJIT dynamic compiler.

Hi,
address@hidden



_______________________________________________
Dotgnu-pnet mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/dotgnu-pnet


reply via email to

[Prev in Thread] Current Thread [Next in Thread]