SqNOS: interpreterProxy signalSemaphoreWithIndex:

Gerardo Richarte gera at corest.com
Sat Jun 10 02:29:04 UTC 2006


John M McIntosh said:
> Likely I should point out this code is not 100% percent thread safe.
>
> People doing thousands of signal events per second from an async  
> thread should think carefully about the code.
	I'm really interested in this problem, as SqueakNOS relies 100% on signalSemaphoreWithIndex() to handle IRQs properly (see http://minnow.cc.gatech.edu/squeak/1762 for more detailed info).
However, after reading Andreas' comment in Win32 sources I think this problem is only present when the underlying native code is multithreaded, what doesn't apply to SqueakNOS... however, what I think will present a similar situation is if two IRQs (different or not) arrive in a very short period of time, both of them signaling Semaphores (same for same IRQs, different for different IRQs).
What do you think?

Where can I read an explanation of this problem to see if it applies and if we can somehow solve it? I guess we'll need to implement some type of locking mechanism, even when the underlying code is single threaded.

	thanks a lot
	gera




More information about the Squeak-dev mailing list