aboutsummaryrefslogtreecommitdiffstats
path: root/src/thread (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-12-08thread/Id: drop "::" prefix before pthread function namesMax Kellermann1-2/+2
The "::" to explicitly refer to the global namespace appeared like a good idea in C++, but it breaks with C libraries that implement standard functions using macros (e.g. musl).
2014-09-13thread/Posix{Cond,Mutex}: don't ues PTHREAD_*_INITIALIZER on NetBSDMax Kellermann2-0/+28
On NetBSD, PTHREAD_MUTEX_INITIALIZER and PTHREAD_COND_INITIALIZER are not compatible with C++11 "constexpr" (see Mantis ticket 0004110). As a workaround, don't ues "constexpr", and use the functions pthread_mutex_init(), pthread_mutex_destroy(), pthread_cond_init() and pthread_cond_destroy() instead. This adds some runtime overhead, but is portable to POSIX implementations that have awkward initializer macros.
2013-10-17Thread/Thread: replacement library for GThreadMax Kellermann2-0/+222
2013-10-17thread/{Cond,Mutex}: use "class" instead of "typedef"Max Kellermann2-5/+4
Allows forward-declaration.
2013-10-15gcc.h: rename to Compiler.hMax Kellermann1-1/+1
2013-08-10thread/Id: new class replacing GThread pointersMax Kellermann1-0/+99
Remove a GLib dependencies from class EventLoop and DatabaseLock.
2013-04-17thread/Cond: add method timed_wait()Max Kellermann2-2/+19
2013-01-11thread/{Mutex,Cond}: new backend for WIN32Max Kellermann4-4/+135
Use CRITICAL_SECTION and CONDITION_VARIABLE. This requires Windows Vista or newer. It fixes problems with GLib threading objects that were implicitly created by static constructors before g_thread_init().
2013-01-10thread/Cond: new wrapper for pthread_cond_t or GCondMax Kellermann5-0/+189
2013-01-10thread/GLibMutex: new Mutex implementationMax Kellermann2-19/+44
Switch WIN32 to this implementation to be able to use condition variables, which is impossible with CriticalSection.
2013-01-10thread/PosixMutex: fix indentMax Kellermann1-13/+13
2013-01-07thread/Mutex: don't use std::mutexMax Kellermann2-8/+68
Use a custom pthread_mutex_t wrapper because std::mutex adds overhead.
2013-01-04Mutex: new wrapper for std::mutex, replaces GMutexMax Kellermann2-0/+117