Qore Programming Language
0.9.3
|
list of functions to be run when a thread ends; required for some external libraries that require explicit cleanup when a thread terminates More...
#include <qore_thread.h>
Public Member Methods | |
DLLEXPORT void | pop (bool exec=true) |
must only be called in the module destructor/deletion function More... | |
DLLEXPORT void | push (qtdest_t func, void *arg) |
must only be called in the module initialization function More... | |
list of functions to be run when a thread ends; required for some external libraries that require explicit cleanup when a thread terminates
this list is not locked and therefore the ThreadCleanupList::push() and ThreadCleanupList::pop() functions must only be called in module initialization and module deletion. However this list is implemented in such a way that thread cleanup list execution may be safely called interally while push() is being executed in a module initialization function, for example.
DLLEXPORT void ThreadCleanupList::pop | ( | bool | exec = true | ) |
must only be called in the module destructor/deletion function
exec | if true the cleanup function will be executed immediately, if false it will not |
DLLEXPORT void ThreadCleanupList::push | ( | qtdest_t | func, |
void * | arg | ||
) |
must only be called in the module initialization function
func | the cleanup function to be run whenever a thread ends |
arg | the argument to the function (can be 0) |