[fpc-pascal] Semaphore problems

Burkhard Carstens fpc at bcsoft.de
Mon Jul 24 21:19:08 CEST 2006


Am Montag, 24. Juli 2006 20:33 schrieb Vinzent Höfler:
> Burkhard Carstens wrote:
> > [..]
> >
> >> ... As long as rtlevent is used with this
> >> in mind, it should give a consistent behaviour on windows and
> >> linux.
> >
> > "this in mind" means: The only way how rtlevent should be used is:
> > 1. call rtlstartwait
> > 2. start the code (e.g. start/resume a thread), that signals the
> > event. 3. call rtlwaitevent
>
> Great. ;( But there's a flaw in this: If I'd actually know that
> thread A had been executed rtlstartwait() before thread B tries
> signalling the condition, I wouldn't need the whole synchronization
> at all.

You want to be sure, a thread started in step 2 has finished, before you 
proceed to step 4 ..

btw. this is not TEvent, we are talking about, it's rtlevent .. TEvent 
(in synconjs) is implemented differently, and should work like delphi/
windows TEvent, except that it is not capable of timedwait ..




More information about the fpc-pascal mailing list