6#if !defined(__XTD_CORE_NATIVE_LIBRARY__)
7#error "Do not include this file: Internal use only"
11#include <xtd/core_native_export>
45 static intmax_t
create(int32_t initial_count, int32_t max_count,
const std::string& name);
51 static void destroy(intmax_t handle,
const std::string& name);
62 static intmax_t
open(
const std::string& name);
68 static bool signal(intmax_t handle, int32_t release_count, int32_t& previous_count,
bool& io_error);
79 static uint32_t
wait(intmax_t handle, int32_t milliseconds_timeout);
Contains named_semaphore native API.
Definition named_semaphore.hpp:34
static intmax_t create(int32_t initial_count, int32_t max_count, const std::string &name)
Create named semaphore with specified name, initial count and maxixum count.
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 intmax_t open(const std::string &name)
Open named semaphore with specified name.
static size_t max_name_size()
Gets the maximum name size supported.
static void destroy(intmax_t handle, const std::string &name)
Destroy 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.
Limits the number of threads that can access a resource or pool of resources concurrently.
Definition semaphore.hpp:38
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10