[ENH][VM][UNIX]generalized async IO
Ned Konz
ned at bike-nomad.com
Mon Jan 29 17:57:21 UTC 2001
On Sunday 28 January 2001 02:20, Lex Spoon wrote:
> I've patched the Unix VM so that any part of the VM -- including plugins
> -- may now register file descriptors to be checked with select()
> whenever ioRelinquishProcessor() is called. I also updated the
> XWindows, sound, and sockets modules to use this general mechanism
> instead of their own private one.
This is great! I wanted to change the serial model, as well; perhaps this
will help.
It would be nice if the Windows VM could also do this, but unfortunately
select() only works on sockets there (there is a different mechanism for
async IO otherwise).
> The immediate benefit is that sound events, too, will wake up
> ioRelinquishProcessor(). A smaller benefit is that several hacks such
> as soundPollFunction() and the extraFd argument to socketPollFunction()
> are removed.
soundPollFunction is in the sqXWindow.c diff; did you mean for it to be there?
+ /* check descriptors being watched */
+ aioPoll(0);
+
+ /* check sound explicitly */
+ if(soundPollFunction) {
+ soundPollFunction();
+ }
+
+
+ /* process all window events */
+ while (HandleEvents()) ;
+
--
Ned Konz
currently: Stanwood, WA
email: ned at bike-nomad.com
homepage: http://bike-nomad.com
More information about the Squeak-dev
mailing list
|