On Dec 28, 2015 2:32 PM, "Stas Boukarev" stassats@gmail.com wrote:
Just use multiple threads.
Can you provide an example?
I tried using a thread and it didn't work as expected. Here is what I tried:
CL-USER> (ql:quickload "qt-tutorial") To load "qt-tutorial": Load 1 ASDF system: qt-tutorial ; Loading "qt-tutorial" .... ("qt-tutorial") CL-USER> (defparameter *mythread* (sb-thread:make-thread #'qt-conv::main)) *MYTHREAD* CL-USER>
So far, so good: The window opens and I can evaluate in the repl. After closing the window, the thread finishes, but it is impossible, to open a new window. Reevaluating (qt-conv::main) immediately returns -1 (in contrast to it returning 0 in the first case after window closing).
In addition, I don't know, how to access the window in the thread. Would it be feasible to install a polling queue mechanism (e.g. using Mailbox in sbcl) within the thread which sends to the application and receives from the repl?
-- Orm