|
IO and Process Scheduler: msg#00027lang.smalltalk.gnu.general
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:kraehe@xxxxxxxxxxx UNA:+.? 'CED+2+:::Linux:2.4.29'UNZ+1' http://www.xml-edifact.org/ CETERUM CENSEO WINDOWS ESSE DELENDAM |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: [rfc] regex rewrite: 00027, Paolo Bonzini |
|---|---|
| Next by Date: | Microsoft Special Deals: 00027, Amanda Gunter |
| Previous by Thread: | Smalltalk MUDi: 00027, kraehe |
| Next by Thread: | Re: IO and Process Scheduler: 00027, kraehe |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | Mail Home | sitemap | FAQ | advertise |