tesseract  3.03
SVSemaphore Class Reference

#include <svutil.h>

List of all members.

Public Member Functions

 SVSemaphore ()
 Sets up a semaphore.
void Signal ()
 Signal a semaphore.
void Wait ()
 Wait on a semaphore.

Detailed Description

A semaphore class which encapsulates the main signalling and wait abilities of semaphores for windows and unix.

Definition at line 67 of file svutil.h.


Constructor & Destructor Documentation

Sets up a semaphore.

Definition at line 125 of file svutil.cpp.

                         {
#ifdef _WIN32
  semaphore_ = CreateSemaphore(0, 0, 10, 0);
#elif defined(__APPLE__)
  char name[50];
  snprintf(name, sizeof(name), "%d", random());
  sem_unlink(name);
  semaphore_ = sem_open(name, O_CREAT , S_IWUSR, 0);
  if (semaphore_ == SEM_FAILED) {
    perror("sem_open");
  }
#else
  sem_init(&semaphore_, 0, 0);
#endif
}

Member Function Documentation

Signal a semaphore.

Definition at line 141 of file svutil.cpp.

                         {
#ifdef _WIN32
  ReleaseSemaphore(semaphore_, 1, NULL);
#elif defined(__APPLE__)
  sem_post(semaphore_);
#else
  sem_post(&semaphore_);
#endif
}

Wait on a semaphore.

Definition at line 151 of file svutil.cpp.

                       {
#ifdef _WIN32
  WaitForSingleObject(semaphore_, INFINITE);
#elif defined(__APPLE__)
  sem_wait(semaphore_);
#else
  sem_wait(&semaphore_);
#endif
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines