xtd 0.2.0
Loading...
Searching...
No Matches
xtd::native::unnamed_semaphore Class Referencefinal

Definition

Contains unnamed_semaphore native API.

Namespace
xtd::native
Library
xtd.core.native
Remarks
xtd::threading::semaphore does not use xtd::native::unnamed_semaphore API as it uses std::counting_semaphore class.
Warning
Internal use only

Protected Static Methods

static intmax_t create (int32_t initial_count, int32_t max_count)
 Create named semaphore with specified initial count and maxixum count.
 
static void destroy (intmax_t handle)
 Destroy named semaphore with specified semaphore handle.
 
static intmax_t open (const std::string &name)
 Open named semaphore with specified name.
 
static bool signal (intmax_t handle, int32_t release_count, int32_t &previous_count, bool &io_error)
 Signal named semaphore with specified semaphore handle.
 
static uint32_t wait (intmax_t handle, int32_t milliseconds_timeout)
 Wait named semaphore with specified semaphore handle and timeout.
 

Member Function Documentation

◆ create()

static intmax_t xtd::native::unnamed_semaphore::create ( int32_t  initial_count,
int32_t  max_count 
)
staticprotected

Create named semaphore with specified initial count and maxixum count.

Returns
The handle of the created semaphore.
Warning
Internal use only

◆ destroy()

static void xtd::native::unnamed_semaphore::destroy ( intmax_t  handle)
staticprotected

Destroy named semaphore with specified semaphore handle.

Parameters
nameThe name of the semaphore.
handleThe semaphore handle to destroy.
Warning
Internal use only

◆ open()

static intmax_t xtd::native::unnamed_semaphore::open ( const std::string &  name)
staticprotected

Open named semaphore with specified name.

Parameters
nameThe name, if the synchronization object is to be shared with other processes.
Returns
The handle of the opened semaphore.
Warning
Internal use only

◆ signal()

static bool xtd::native::unnamed_semaphore::signal ( intmax_t  handle,
int32_t  release_count,
int32_t &  previous_count,
bool &  io_error 
)
staticprotected

Signal named semaphore with specified semaphore handle.

Parameters
handleThe semaphore handle to signal.
Returns
true if succeed; otherwhise false.
Warning
Internal use only

◆ wait()

static uint32_t xtd::native::unnamed_semaphore::wait ( intmax_t  handle,
int32_t  milliseconds_timeout 
)
staticprotected

Wait named semaphore with specified semaphore handle and timeout.

Parameters
handleThe semaphore handle to wait.
milliseconds_timeoutThe timeout in milliseconds (-1 is infinite timeout).
Returns
error code :
  • 0x00000000 : Sucess
  • 0x00000080 : Abandoned
  • 0x00000102 : Timeout
  • 0xFFFFFFFF : Failed
Warning
Internal use only

The documentation for this class was generated from the following file: