[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-smalltalk] IO and Process Scheduler
From: |
kraehe |
Subject: |
[Help-smalltalk] IO and Process Scheduler |
Date: |
Mon, 30 May 2005 12:58:00 +0200 |
User-agent: |
Mutt/1.5.9i |
Moin Guru's,
i've walked through the C code of GST 2.1.10 to realised, that
IO is blocking the complete Smalltalk system and not only a
co-process. I think FileOp: 3, 4, 13 and 14 should yield()
interp.c>>next_scheduled_process() which would use the select()
system call to deceide for the next co-process to run. This
feature should be a flag for files, and turned off by default
for performance reasons and atomic contrains.
The alternate would be to provide a select() primitive. So
a MUD server is a single Smalltalk process implementing its
own scheduler.
I might have a patch against libgst/{prims.def,input.c,interp.c,...}
within the week - but the questions beforehands :
- has anyone already implemented a FileOp: select() primitive ?
- is anyone interested in cross reading and testing the patch ?
- is 2.1.10 a good start - or where to find active CVS development ?
last not least, i've suggest to change the EMACS interface to use
IAC GA "\377\371" to signal the prompt conforming to 854 line mode
telnet, so one could exchange the EMACS interface with other clients.
It would be even better to move the prompt from input.c>>my_getc()
to somewhere higher in Smalltalk code of the REPL and to refactor
the REPL that a single Smalltalk can run several REPLs to work with
stdio and sockets concurrently.
Bye Michael
--
mailto:address@hidden UNA:+.? 'CED+2+:::Linux:2.4.29'UNZ+1'
http://www.xml-edifact.org/ CETERUM CENSEO WINDOWS ESSE DELENDAM
- [Help-smalltalk] IO and Process Scheduler,
kraehe <=