[squeak-dev] what was the index of TheInputSemaphore in older VMs?
John M McIntosh
johnmci at smalltalkconsulting.com
Wed Jan 28 22:03:55 UTC 2009
That was the original Squeak code to deal with the interrupt key.
I you pressed the interrupt key, then the VM would see that and set
the interruptPending flag which later in checkForInterrrupts would
grab the TheInterruptSemaphore
which was a semaphore that the Smalltalk interrupt handler was
waiting on to let the image know the interrupt key was pressed
Obviously there was a problem in determining what an interrupt key was
across all platforms, and what if you wanted to changed it?
That led to the code being moved out of the VM into
EventSensor>>processEvent: -> "Check if the event is a user interrupt"
were we look for the magic keystrokes versus doing that in the VM.
However the TheInterruptSemaphore logic in the VM still exists to
handle images from before the EventSensor work, and is set via
EventSensor>>primInterruptSemaphore: records the semaphore so it can
use it directly.
In *theory* *cough* you should be able to take a current mac vm and
open a squeak image from 1995, if any one cares to try, please let me
know if it works.
On 28-Jan-09, at 1:22 PM, Eliot Miranda wrote:
> Hi All,
> just noptied that in our current VM there's an undefined
> constant TheInputSemaphore. This is (or rather isn't) used in
> Interpreter>>primitiveInputSemaphore. I can find no clue in my
> current images as to what its correct old value. Anyone have the
> old value (in the Interpreter and/or in
> Smalltalk>>specialObjectsArray)? TIA
John M. McIntosh <johnmci at smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
More information about the Squeak-dev