[Mono-dev] signal.c cross-thread access

tim.jenks at realtimeworlds.com tim.jenks at realtimeworlds.com
Fri Jan 16 09:27:59 EST 2009


Attached is a patch to signal.c supporting cross-thread access.

Currently signal.c maintains a coarse grained mutex in each entry point
from managed code, including the blocking WaitAny call. This makes the
use of the UnixSignal* code limited at best - one thread may be sat in a
WaitAny for an undetermined period of time, blocking access to any other
managed thread wishing to use the signalling code.

This patch provides fine grained locking of the relevant singal_info
struct, and a removal of the coarse grained mutex, allowing multiple
threads to interact with the native signal code.



This message and any attachments contain privileged and confidential information intended for the use of the addressee named above. If you are not the intended recipient of this message, you are hereby notified that any use, dissemination, distribution or reproduction of this message is prohibited. Please note that we cannot guarantee that this message or any attachment is virus free or that it has not been intercepted and amended. The views of the author may not necessarily reflect those of Realtime Worlds Ltd.


Realtime Worlds Ltd is registered in Scotland, number 225628. Registered Office: 152 West Marketgait, Dundee, DD1 1NJ.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signal.c.diff
Type: application/octet-stream
Size: 10203 bytes
Desc: signal.c.diff
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090116/e0452caa/attachment.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: UnixSignal.cs.diff
Type: application/octet-stream
Size: 386 bytes
Desc: UnixSignal.cs.diff
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090116/e0452caa/attachment-0001.obj 

More information about the Mono-devel-list mailing list