On 8 October 2010 14:40, Sven Barth <pascaldra...@googlemail.com> wrote: > > 1. If you do a WaitFor the calling thread will be suspended until the thread > you called WaitFor on terminates (or the timeout elapses, but our WaitFor > doesn't have a timeout parameter...). Thus it is normal that your main loop > appears to hang.
I thought about the timeout, and dived into the WaitFor code. So I changed my code from. FThread.WaitFor; ..to... WaitForThreadTerminate(FThread.Handle, 2000); I waited for 10 seconds and still nothing. The whole app was frozen. So it seems the timeout logic in TThread (under unix) is broken too. :-( > 2. Does your thread really terminate till then? Did you test a thread that > does nothing and terminates immediatly? It freezes immediately at the point where I call Syncronize() in the thread's Execute method. With both options shown above. If I remove the Syncronize(), then the thread keeps running the loop inside Execute. Trying to use WaitForThreadTerminate() with the timeout value > 0, it never happens. So the timeout logic clearly seems broken. > I can't help you much with X11, cause I've not yet found the time and the > need to dig into it. No problems... just thought I would ask in case you knew. -- Regards, - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net:8080/fpgui/ _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal