70 if (cv_sleep_target != NULL)
115 long cur_timeout = -1;
135 if (cv_sleep_target != cv)
148 Assert(timeout >= 0 && timeout <= INT_MAX);
149 cur_timeout = timeout;
205 if (cur_timeout <= 0)
244 cv_sleep_target = NULL;
283 bool have_sentinel =
false;
306 if (cv_sleep_target != NULL)
324 have_sentinel =
true;
333 while (have_sentinel)
354 if (proc != NULL && proc !=
MyProc)
#define SpinLockInit(lock)
#define INSTR_TIME_GET_MILLISEC(t)
struct timeval instr_time
void ConditionVariableBroadcast(ConditionVariable *cv)
void SetLatch(Latch *latch)
#define proclist_delete(list, procno, link_member)
void ResetLatch(Latch *latch)
int WaitLatch(Latch *latch, int wakeEvents, long timeout, uint32 wait_event_info)
void ConditionVariablePrepareToSleep(ConditionVariable *cv)
#define SpinLockAcquire(lock)
void ConditionVariableInit(ConditionVariable *cv)
void ConditionVariableCancelSleep(void)
bool ConditionVariableTimedSleep(ConditionVariable *cv, long timeout, uint32 wait_event_info)
#define INSTR_TIME_SUBTRACT(x, y)
void ConditionVariableSignal(ConditionVariable *cv)
#define SpinLockRelease(lock)
static ConditionVariable * cv_sleep_target
#define proclist_pop_head_node(list, link_member)
void ConditionVariableSleep(ConditionVariable *cv, uint32 wait_event_info)
#define Assert(condition)
static bool proclist_is_empty(proclist_head *list)
#define INSTR_TIME_SET_CURRENT(t)
#define proclist_push_tail(list, procno, link_member)
static void proclist_init(proclist_head *list)
#define CHECK_FOR_INTERRUPTS()
#define WL_EXIT_ON_PM_DEATH
static volatile sig_atomic_t signaled
#define proclist_contains(list, procno, link_member)