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
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal