Workaround for longstanding issue with allegro and *globally-redirect-io* not working as intended.
This prints HELLO to the *inferior lisp buffer:
(mp:process-run-function "Test" (lambda () (loop (sleep 2) (print 'hello))))
because allegro repl binds the standard streams and the global io redirect effectively modifies the thread local binding.
The workaround is called from initialize-multiprocessing which may not be the best place.
Cheers, Gabor
* Gábor Melis [2008-04-08 11:58+0200] writes:
Workaround for longstanding issue with allegro and *globally-redirect-io* not working as intended.
This prints HELLO to the *inferior lisp buffer:
(mp:process-run-function "Test" (lambda () (loop (sleep 2) (print 'hello))))
because allegro repl binds the standard streams and the global io redirect effectively modifies the thread local binding.
The workaround is called from initialize-multiprocessing which may not be the best place.
Indeed. And it should only be done if *globally-redirect-io* is true.
Helmut.