|
Qore Programming Language
0.9.16
|
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 hashdecl qore_avl_private* priv;
101 DLLLOCAL
void*
operator new(size_t) =
delete;
116 DLLEXPORT
operator bool()
const;
119 DLLEXPORT
void del();
122 DLLLOCAL
void set(QoreVarRWLock* n_rwl);
128 DLLLOCAL QoreVarRWLock*
getRWL()
const;
134 DLLLOCAL
void clear();
DLLLOCAL void set(QoreVarRWLock *n_rwl)
sets the current lock
DLLLOCAL void addMemberNotification(QoreObject *o, const char *member)
adds an object member notification entry, internal-only
DLLLOCAL void clear()
leaves the lock locked and the object referenced and clears the object and lock pointers
DLLEXPORT void del()
manually releases the lock currently held
DLLLOCAL QoreVarRWLock * getRWL() const
gets the current read-write lock
the implementation of Qore's object data type, reference counted, dynamically-allocated only
Definition: QoreObject.h:61
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:48
DLLLOCAL QoreObject * getObject() const
gets the current object
DLLEXPORT ~AutoVLock()
releases all locks held and destroys the container
AutoVLock is a container for safely managing global variable and object lock handovers,...
Definition: AutoVLock.h:80