On Wed, Aug 18, 2010 at 02:53, Holger Hans Peter Freyther <[email protected]> wrote: > On 08/18/2010 12:56 AM, ZuLuuuuuu wrote: > >> >> Yes, it works as well. And pressing enter allows me to quit nicely. Thanks. >> What is the logic behind this? > > The current VM is not pre-emptive so only if one process is yielding another > will run.
No, that's not the reason why the REPL blocks I/O. The reason is simply that at any time _either the REPL or the VM_ will run, and I/O is obviously handled by the VM. Also, the VM _is_ preemptive, despite the ill-named --enable-preemptive. Semaphores (which include Delay timeouts and I/O events) can and will preempt the running process. It is just that the VM will not preempt a process just because it's been running for some time; that is, the VM is not time-sharing. Paolo _______________________________________________ help-smalltalk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-smalltalk
