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