[Vm-dev] Why isn't signalSemaphoreWithIndex() thread-safe?

John M McIntosh johnmci at smalltalkconsulting.com
Mon Sep 21 20:26:25 UTC 2009

Er, did we reach a consensus about what to do?

My problem is determining what is best based on some the code concepts  
given (which people pointed out flaws in, or confusion about).
and the premise they work all the same on different hardware platforms  
intel, powerpc, arm, which I'm not sure about.

Perhaps a more heavy weight, platform dependent solution using the  
generic acceptable locking logic is required.

Er like
{Do what ever is required to remember the semaphore index so that  
checkForInterrupts can find it, a queue perhaps?

I'd keep in mind

(a) How many times do we execute the signalExternalSemaphore logic per  
seconds, and
(b) if someone want to do  this a million times a second I think they  
can do their own "exotic" solution via overriding  
acquireTheHostPlatformIndexedSemaphoreLock &  
(c) keep it simple so I don't have to worry how it works on powerpc,  
intel, and arm.

Obviously I'd just throw myself on the evil pthread solution.

Would we do a linked list, or queue for the semaphores, versus that  
fixed size list? A size I picked based on exploring network interrupt  
value rates on a mind numbling 200Mhz powerpc machine?

On 2009-09-20, at 7:00 PM, Igor Stasenko wrote:

John M. McIntosh <johnmci at smalltalkconsulting.com>   Twitter:   
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com

More information about the Vm-dev mailing list