anchor.diff:    Sections[Pred(SectionCount) ] := Self;
     {$ENDIF}
   
  -{$IFDEF WINDOWS}
  +{$IFDEF USEPTHREADS}
  +  pthread_mutex_init(@_Handle, Nil);
  +{$ELSE}
   	InitializeCriticalSection(_Handle);
  -{$ELSE}
  -  pthread_mutex_init(@_Handle, Nil);
   {$ENDIF}
   End;
   
  
positive.code:     Inc(I);
    {$ENDIF}
  
  {$IFDEF WINDOWS}
  	DeleteCriticalSection(_Handle);
  {$ELSE}
    pthread_mutex_destroy(@_Handle);
  {$ENDIF}
  End;
  
  
negative.code: {$IFDEF WINDOWS}Windows
  {$ELSE}cmem, {ctypes,baseunix,}unixtype{$ENDIF};
  
  {$IFDEF WINDOWS}
  {-$DEFINE WINAPISYNC}
  {$ENDIF}
  
  {$IFNDEF WINAPISYNC}
  {-$DEFINE USEPTHREADS}
  
  {$IFDEF USEPTHREADS}
  
  Type
   ppthread_mutex_t = ^pthread_mutex_t;
   ppthread_mutexattr_t = ^pthread_mutexattr_t;
  