How to implement events on Unix?

Stefan Matthias Aust sma at 3plus4.de
Wed Feb 7 23:00:40 UTC 2001


Hi!

As mentioned in another message, I managed to compile a unix version of the 
Squeak 3.0 VM.  Currently, I provided only stub methods for the new 
functions so that all primitives will fail.

However, I'd like to implement the new event stuff - at least if it is what 
I except.  Even on an idle system, the current squeak runs and eats up CPU 
cycles.  Will events help here?

Okay, so if events mean that you can get rid of Squeak's polling loop, what 
does Squeak expect?  Is there any documentation?  I tried to understand the 
Mac source but even in that code, it seems to me, that events aren't really 
implemented.

I think, there're two important functions:  One to tell the VM about a 
semaphore on which - I guess - the Smalltalk code will wait for the next 
event.  And another to retrieve that event from the VM.  The mac VM seems 
to allocate a circular buffer with 1024 elements to store 
elements.  However, I wonder why the code to signal the semaphore is 
commented out.  Doesn't that means, the whole event stuff doesn't work yet?

Which events (what kind of events) are raised?  And what's about sockets or 
serial port?  Are they still polled or will they also use events?

bye
--
Stefan Matthias Aust \\ Truth Until Paradox





More information about the Squeak-dev mailing list