55 lines
1.2 KiB
C++
55 lines
1.2 KiB
C++
// 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
|