[mcclim-devel] Running McCLIM and CL-SDL together: is it possible?

Is it possible to run a McCLIM and a CL-SDL (cl-sdl.sourceforge.net) application within the same Lisp image? When I try this with CMUCL, only the CL-SDL application runs and the McCLIM one--say, the CLIM Listener--is frozen, i.e. the window is not refreshed and does not process input events. Things do not change if I start the CLIM Listener with :new-process t. I understand that the OpenGL/SDL event loop is a bit "pervasive", but I wonder whether there are any workarounds. Paolo -- Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Paolo Amoroso <amoroso@mclink.it> writes:
Is it possible to run a McCLIM and a CL-SDL (cl-sdl.sourceforge.net) application within the same Lisp image?
When I try this with CMUCL, only the CL-SDL application runs and the McCLIM one--say, the CLIM Listener--is frozen, i.e. the window is not refreshed and does not process input events. Things do not change if I start the CLIM Listener with :new-process t.
I have been suggested (thanks David!) that, given CMUCL's cooperative multiprocessing model, the CL-SDL application thread and the Listener thread may not be yielding regularly. So, in the file examples/2d-test.lisp of the CL-SDL distribution, I tried adding a call to MP:PROCESS-YIELD as the last expression in the LAMBDA of MAKE-UPDATE-FN. This way both the CL-SDL demo and the Listener can run at the same time. CPU usage is over 99% even with just the demo, but OpenGL applications are quite demanding. Cool. Paolo -- Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
participants (1)
-
Paolo Amoroso