Go to the SVN repository for this file.
52 const function<
bool()> & is_done_cb,
53 const function<
void(
bool*)> & update_rslt_cb);
66 voidDoWake(
intwaiters = INT_MAX);
76 boolCompareExchange(
int expected,
intreplace_with,
77 boolwake_others =
true)
80memory_order_relaxed);
81 if(rv && wake_others)
98 intSet(
int value,
boolwake_others =
true)
101 if((rv !=
value) && wake_others)
106 intInc(
boolwake_others =
true)
108 intrv = atomic_fetch_add(&
m_Value, 1);
114 intDec(
boolwake_others =
true)
116 intrv = atomic_fetch_sub(&
m_Value, 1);
124 intrv = atomic_fetch_add(&
m_Value, 1);
130 intrv = atomic_fetch_sub(&
m_Value, 1);
151 function<
void()> on_ctrl_c_pressed =
NULL);
156 static CFutexsm_CtrlCPressedEvent;
#define BEGIN_IDBLOB_SCOPE
bool WaitCondVar(unsigned int timeoutmks, CFastMutex &mtx, CConditionVariable &ev, const function< bool()> &is_done_cb, const function< void(bool *)> &update_rslt_cb)
Wrapper around Linux's futex.
CFutex & operator=(const CFutex &)
volatile int m_Value
Value of the futex.
EWaitResult
Type of result returned from WaitValueChange()
static unique_ptr< thread, function< void(thread *)> > sm_WatchThread
static bool s_CtrlCPressed(void)
static volatile sig_atomic_t sm_CtrlCPressed
SSignalHandler.
static function< void()> sm_OnCtrlCPressed
static volatile bool sm_Quit
static void s_WatchCtrlCPressed(bool enable, function< void()> on_ctrl_c_pressed=NULL)
static const char * expected[]
const GenericPointer< typename T::ValueType > T2 value
GenericValue< UTF8<> > Value
GenericValue with UTF8 encoding.
Multi-threading â classes, functions, and features.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4