[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