37#include "qore/intern/AbstractSmartLock.h"
43typedef std::map<int, class VLock*> vlock_map_t;
47typedef std::vector<AbstractSmartLock*> abstract_lock_list_t;
53class VLock :
protected abstract_lock_list_t {
55 DLLLOCAL VLock(
int tid);
59 assert(begin() == end());
62 DLLLOCAL
void push(AbstractSmartLock* g);
63 DLLLOCAL
int pop(AbstractSmartLock* asl);
65 DLLLOCAL AbstractSmartLock* find(AbstractSmartLock* g)
const;
68 DLLLOCAL
int waitOn(AbstractSmartLock* asl, VLock* vl,
ExceptionSink* xsink,
int timeout_ms = 0);
72 DLLLOCAL
int waitOn(AbstractSmartLock* asl, vlock_map_t& vmap,
ExceptionSink* xsink,
int timeout_ms = 0);
73 DLLLOCAL
int getTID()
const {
return tid; }
76 DLLLOCAL
void show(
class VLock* nvl)
const;
80 std::atomic<AbstractSmartLock*> waiting_on;
85 VLock& operator=(
const VLock&);
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:50
a thread condition class implementing a wrapper for pthread_cond_t
Definition: QoreCondition.h:45