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

Reply via email to