Am 16.09.2013 10:58, schrieb Michael Schnell:
On 09/13/2013 07:08 PM, Sven Barth wrote:
As we have already written in some previous mails to there is a
global event procedure to wake up the main thread that is triggered
when something is queued. The LCL uses this already and other
programs could use a TEvent or whatever.
Could you elaborate on this ? Is this "triggering" done by some kind
of self-piping or using an OS semaphore ? Is it provided for all OSes
and Archs
Or do you mean a function call is provided that allows the user (or
the LCL) to implement such a functionality.
The latter:
http://www.freepascal.org/docs-html/rtl/classes/wakemainthread.html
It is called by the internal procedure ThreadQueueAppend which is used
by both TThread.Queue and TThread.Synchronize. Additionally if the the
main thread is already waiting inside a CheckSynchronize() call it is
notified using an event.
Regads,
Sven
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal