Am 10.07.2014 13:34 schrieb "Michael Schnell" <mschn...@lumino.de>: > > In order not to steel yet another Thread topic I answer in a new thread.... > > On 06/27/2014 11:35 AM, Mattias Gaertner wrote in "Re: [Lazarus] nonlcl basic issue: is codetools LCL dependent?": >> >> >>> handling the waiting and waking for both Queues simultaneously. This (waiting and waking regarding the additional queue) needs arch depending code (as done in the GUI based Widget Types). >> >> >> That's not arch dependent, but library dependent. >> In case of nogui there is no library, so you have the full control. > > > I just re-checked and found that in thread.inc the "waiting and waking" is done by calls to callback variables such as "rtleventWaitFor" and "rtleventSetEvent". > > When initializing, these variables are filled with the appropriate "OS-depending" function pointers by code in the file "systhrd.inc" located in the OS-appropriate folder. > > I understand that the "rtlevent..." stuff and the method to append an event to the TThread queue is private to TThread and hence I can't use this for TTimer and TApplication.QueueAsyncCall, Hence my only option (other than constructing an additional queue including an additional "OS-depending" "waiting and waking" mechanism) is using the timeout of CheckSynchronize (e.g. for TTimer), and TThread.Queue (e.g. for TApplication.QueueAsyncCall). >
The TThreadManager.RTLEvent* procvars are available through analogous named RTLEvent* functions... Regards, Sven
-- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus