32 #ifndef _QORE_AUTOVLOCK_H 34 #define _QORE_AUTOVLOCK_H 36 class AbstractSmartLock;
43 DLLLOCAL
void unlockIntern() {
49 DLLLOCAL QLckPtr() : rwl(0) {
52 DLLLOCAL
void set(QoreVarRWLock* n_rwl) {
56 DLLLOCAL QoreVarRWLock* getRWL()
const {
60 DLLLOCAL
bool isSet()
const {
64 DLLLOCAL
void unlockAndClear() {
71 DLLLOCAL
void clear() {
94 struct qore_avl_private* priv;
99 DLLLOCAL AutoVLock& operator=(
const AutoVLock&);
101 DLLLOCAL
void*
operator new(size_t);
110 DLLEXPORT ~AutoVLock();
113 DLLEXPORT
operator bool()
const;
116 DLLEXPORT
void del();
119 DLLLOCAL
void set(QoreVarRWLock* n_rwl);
122 DLLLOCAL
void set(
QoreObject* n_o, QoreVarRWLock* n_rwl);
125 DLLLOCAL QoreVarRWLock* getRWL()
const;
131 DLLLOCAL
void clear();
137 DLLLOCAL
void addMemberNotification(
QoreObject* o,
const char* member);
AutoVLock is a container for safely managing global variable and object lock handovers, required for functions accessing global variables and object data where locking is necessary.
Definition: AutoVLock.h:80
the implementation of Qore's object data type, reference counted, dynamically-allocated only ...
Definition: QoreObject.h:64
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:43