[fpc-pascal] Semaphore

Jonas Maebe jonas.maebe at elis.ugent.be
Tue Feb 12 14:41:25 CET 2008


On 11 Feb 2008, at 10:45, Damien Gerard wrote:

> I think it has been discussed before but I would like to use  
> Semaphores, to allow multiple reads but 1 write at once (which is in  
> fact commons operations in a multi-thread program).
>
> My program must work under OSX/Nux and Windows.
> I may have missed something but I can not find something suitable  
> for me.
> Under Windows OpenSemaphore, under unixes CurrentTM.Semaphore*...

CurrentTM.Semaphore* should also work under Windows (if it doesn't,  
please file a bug report). And the way to use those is by calling

{$ifdef unix}
uses
   cthreads;
{$endif}
var
   p: pointer;
begin
   p:=currenttm.SemaphoreInit;
   currenttm.semaphorepost(p);
   currenttm.semaphorewait(p);
   currenttm.semaphoredestroy(p);
end.


Jonas



More information about the fpc-pascal mailing list