On 17 May 2010, at 16:00, Brad Campbell wrote:
Michael Van Canneyt wrote:
I think that what you did is the only right solution. Synchronizing
threads is tricky, and the default mechanism is meant for GUI apps
where the main thread is the GUI thread.
I wish there was a way for a thread to asynchronously notify the
main thread there is a Synchronize() pending. On Linux I can insert
an fd() for a pipe into the gtk event loop and poke data into the
pipe from the thread. It's incredibly efficient and saves all the
waiting and polling. I've not worked out how to do this on OSX or
Win32 yet though.
If you use the timeout parameter from CheckSynchronize, you do get
that effect (if you pass high(longint) as timeout, then you only
"poll" if nothing happened for 2^31 miliseconds, which is about 24
days).
Jonas
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal