// sigslot.h: Signal/Slot classes // // Written by Sarah Thompson (sarah@telergy.com) 2002. // // License: Public domain. You are free to use this code however you like, with // the proviso that the author takes on no responsibility or liability for any // use. #include "webrtc/base/sigslot.h" namespace sigslot { #ifdef _SIGSLOT_HAS_POSIX_THREADS multi_threaded_global::multi_threaded_global() { pthread_mutex_init(get_mutex(), NULL); } multi_threaded_global::multi_threaded_global(const multi_threaded_global&) { } multi_threaded_global::~multi_threaded_global() = default; void multi_threaded_global::lock() { pthread_mutex_lock(get_mutex()); } void multi_threaded_global::unlock() { pthread_mutex_unlock(get_mutex()); } multi_threaded_local::multi_threaded_local() { pthread_mutex_init(&m_mutex, NULL); } multi_threaded_local::multi_threaded_local(const multi_threaded_local&) { pthread_mutex_init(&m_mutex, NULL); } multi_threaded_local::~multi_threaded_local() { pthread_mutex_destroy(&m_mutex); } void multi_threaded_local::lock() { pthread_mutex_lock(&m_mutex); } void multi_threaded_local::unlock() { pthread_mutex_unlock(&m_mutex); } #endif // _SIGSLOT_HAS_POSIX_THREADS }; // namespace sigslot