Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2015-08-25 | thread/{Mutex,Cond}: remove obsolete comments | Max Kellermann | 2 | -6/+2 | |
2015-08-25 | thread/Posix{Mutex,Cond}: use "constexpr" only with glibc | Max Kellermann | 2 | -16/+16 | |
Apparently all other C libraries are not compatible with "constexpr". Those which are not will get a performance penalty, but at least they work at all. | |||||
2015-01-21 | thread/Name: include stdio.h if HAVE_PRCTL | Max Kellermann | 1 | -1/+4 | |
Caused a build failure with uClibc because snprintf() was not available. | |||||
2015-01-06 | thread/Name: disable pthread_setname_np() on NetBSD | Max Kellermann | 1 | -2/+6 | |
NetBSD's pthread_setname_np() prototype is incompatible with the rest of the world, and it requires to pass the string argument as a non-const pointer. Instead of working around this misdesign, I hereby disable the feature on NetBSD. | |||||
2015-01-06 | thread/Name: enable FormatThreadName() with prctl() | Max Kellermann | 1 | -1/+5 | |
Add macro HAVE_THREAD_NAME which is set when any method to set the thread name is available. Use that macro in FormatThreadName() instead of just checking for HAVE_PTHREAD_SETNAME_NP. | |||||
2015-01-06 | thread/Name: indent preprocessor commands | Max Kellermann | 1 | -3/+3 | |
2015-01-01 | Copyright year 2015 | Max Kellermann | 5 | -5/+5 | |
2014-12-08 | thread/Id: drop "::" prefix before pthread function names | Max Kellermann | 1 | -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-13 | thread/Posix{Cond,Mutex}: don't ues PTHREAD_*_INITIALIZER on NetBSD | Max Kellermann | 2 | -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. | |||||
2014-07-02 | thread/{Mutex,Cond}: relicense to BSD-2 | Max Kellermann | 6 | -38/+58 | |
2014-07-02 | thread/GLib{Mutex,Cond}: remove obsolete classes | Max Kellermann | 2 | -178/+0 | |
2014-05-31 | thread/Util: relicense to BSD-2 | Max Kellermann | 1 | -15/+25 | |
2014-03-16 | thread/Thread: make the destructor non-virtual | Max Kellermann | 1 | -1/+1 | |
The class does not have any virtual methods, and thus the (debug-only) destructor does not need to be virtual. | |||||
2014-03-01 | thread/Name: fall back to prctl() | Max Kellermann | 1 | -0/+4 | |
2014-03-01 | java: new helper library for the Android port | Max Kellermann | 1 | -0/+9 | |
2014-02-18 | Thread/Util: use __NR_ioprio_set instead of SYS_ioprio_set | Max Kellermann | 1 | -1/+1 | |
Bionic doesn't have the SYS_* macros. | |||||
2014-02-18 | Thread/Util: make SCHED_RESET_ON_FORK optional | Max Kellermann | 1 | -1/+7 | |
Use it if it exists, but don't insist if the C library is poor (e.g. Bionic/Android). | |||||
2014-02-18 | thread/Posix{Mutex,Cond}: disable "constexpr" on Android | Max Kellermann | 2 | -2/+8 | |
Bionic's pthread declarations are non-literal. | |||||
2014-01-30 | Main, OutputThread: increase kernel timer slack (Linux) | Max Kellermann | 1 | -0/+54 | |
Allows the kernel to combine timer wakeups with other processes, reducing power usage. | |||||
2014-01-28 | thread/Name: implementation for Mac OS X | Max Kellermann | 1 | -0/+4 | |
pthread_setname_np() doesn't have the "thread" argument on OS X. | |||||
2014-01-23 | thread/Name: set thread names | Max Kellermann | 1 | -0/+51 | |
For debugging. | |||||
2014-01-23 | thread/Util: set the SCHED_RESET_ON_FORK flag in SetThreadRealtime() | Max Kellermann | 1 | -1/+1 | |
2014-01-14 | OutputThread: use real-time priority | Max Kellermann | 1 | -0/+13 | |
2014-01-14 | UpdateGlue: let the update thread run at "idle" priority | Max Kellermann | 1 | -0/+72 | |
The update thread should not affect the rest of the system, therefore set "idle" priority, and let it only run when nobody else is using the resources. | |||||
2014-01-13 | copyright year 2014 | Max Kellermann | 5 | -5/+5 | |
2013-10-17 | Thread/Thread: replacement library for GThread | Max Kellermann | 2 | -0/+222 | |
2013-10-17 | thread/{Cond,Mutex}: use "class" instead of "typedef" | Max Kellermann | 2 | -5/+4 | |
Allows forward-declaration. | |||||
2013-10-15 | gcc.h: rename to Compiler.h | Max Kellermann | 1 | -1/+1 | |
2013-08-10 | thread/Id: new class replacing GThread pointers | Max Kellermann | 1 | -0/+99 | |
Remove a GLib dependencies from class EventLoop and DatabaseLock. | |||||
2013-04-17 | thread/Cond: add method timed_wait() | Max Kellermann | 2 | -2/+19 | |
2013-01-11 | thread/{Mutex,Cond}: new backend for WIN32 | Max Kellermann | 4 | -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-10 | thread/Cond: new wrapper for pthread_cond_t or GCond | Max Kellermann | 5 | -0/+189 | |
2013-01-10 | thread/GLibMutex: new Mutex implementation | Max Kellermann | 2 | -19/+44 | |
Switch WIN32 to this implementation to be able to use condition variables, which is impossible with CriticalSection. | |||||
2013-01-10 | thread/PosixMutex: fix indent | Max Kellermann | 1 | -13/+13 | |
2013-01-07 | thread/Mutex: don't use std::mutex | Max Kellermann | 2 | -8/+68 | |
Use a custom pthread_mutex_t wrapper because std::mutex adds overhead. | |||||
2013-01-04 | Mutex: new wrapper for std::mutex, replaces GMutex | Max Kellermann | 2 | -0/+117 | |