[Vm-dev] Events handling for SqueakGtk
goran at krampe.se
Sun Jul 13 08:47:21 UTC 2008
Note that already the original (before Luca Bruno's work on it)
SqueakGtk included code for this mechanism. It even queued the events on
the plugin side.
David T. Lewis wrote:
> On Fri, Jul 11, 2008 at 01:30:43PM +0200, Bert Freudenberg wrote:
>>> To solve this problem I'll create a C thread and say to the vm
>>> change the status of the current process
>>> call the blocking method and when there is an event wake up the
>>> process to say I've finished my work.
>>> Is there a way to solve this problem ?
>> The canonical way to do this is have the Smalltalk process wait on a
>> Semaphore, and signal that Semaphore from the VM if there is anything
>> to do. See senders of "Smalltalk registerExternalObject:
>> someSemaphore" for examples.
> The SocketPlugin uses this technique, and you can find additional examples
> in AioPlugin (notify a Smalltalk process on IO activity) and OSProcessPlugin
> (notify a Smalltalk process on termination of an external process). These
> are on SqueakMap/SqueakSource.
More information about the Vm-dev