Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
fpc-src / usr / share / fpcsrc / 3.2.0 / packages / libc / src / pthread.inc
Size: Mime:
Function InitializeCriticalSection(var lpCriticalSection: TRTLCriticalSection): Integer;

var
  Attr : pthread_mutexattr_t;

begin
  Result:=pthread_mutexattr_init(Attr);
  if Result=0 then 
    Try
      Result:=pthread_mutexattr_settype(Attr,PTHREAD_MUTEX_RECURSIVE);
      if Result=0 then 
        Result:=pthread_mutex_init(lpCriticalSection, Attr);
    Finally
      pthread_mutexattr_destroy(Attr);
    end;
end;

function TryEnterCriticalSection(var lpCriticalSection: TRTLCriticalSection): Boolean;
begin
  Result:=EBUSY<>pthread_mutex_trylock(lpCriticalSection);
end;