- 04 Jan, 2014 9 commits
-
-
Max Kellermann authored
Commit 1f119597 allowed modifying the "quit" attribute from any thread, and thus the assertion may fail spuriously. This assertion is too strict for the relaxed use of "quit". Let's remove it and move the "quit" check to before the SockedMonitor::Dispatch() call.
-
Max Kellermann authored
-
Max Kellermann authored
Simply set the "quit" flag and wake up the thread. This works even if we're inside this thread. Setting "quit" to a new value without mutex protection is usually not safe, but good enough here.
-
Max Kellermann authored
EventLoop::AddCall() and EventLoop::AddIdle() are unsafe, because we can't cancel those calls.
-
Max Kellermann authored
There is no advantage of using EventLoop::AddCall(), now that DeferredMonitor is thread-safe.
-
Max Kellermann authored
Instead of creating a new eventfd for each DeferredMonitor instance, reuse EventLoop's eventfd, and add a std::list to EventLoop that manages the list of pending DeferredMonitors. This std::list is protected by the same mutex as the "calls" list. The bottom line is: reduced overhead because the per-instance eventfd was eliminated, slightly added overhead due to Mutex usage (but negligible), and we're thread-safe now. This subsystem is now good enough to replace EventLoop::AddCall().
-
James McGlashan (DarkFox) authored
-
James McGlashan (DarkFox) authored
-
James McGlashan (DarkFox) authored
-
- 02 Jan, 2014 1 commit
-
-
James McGlashan (DarkFox) authored
-
- 31 Dec, 2013 8 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 29 Dec, 2013 20 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
Add the TagStream.cxx library, similar to TagFile.cxx, and use it to load tags from song files inside archives.
-
Max Kellermann authored
Merge some duplicate code.
-
Max Kellermann authored
Got lost in commit c97685fe
-
Max Kellermann authored
-
Max Kellermann authored
Replaces decoder_plugin_from_suffix().
-
Max Kellermann authored
.. instead of decoder_plugin_from_suffix(). This reduces overhead by walking the array only once.
-
Max Kellermann authored
Instead of using the first DecoderPlugin that supports the suffix, use the first one that actually implements the "container_scan" method.
-
Max Kellermann authored
-
Max Kellermann authored
.. instead of decoder_plugin_from_suffix(). This reduces overhead by walking the array only once.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
If we have libyajl 2.0.1 (without a pkg-config file), our configure.ac would assume this is the libyajl 1.0 API, because the function yajl_alloc() exists in both. This commit changes the library check to the function yajl_parse_complete() which was removed in the 2.0 API. This fixes build failure with libyajl 2.0.1.
-
Max Kellermann authored
We can assume that initgroups() would be a no-op in that case, however initgroups() is not allowed for unprivileged users anyway.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 28 Dec, 2013 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
Use the existing PcmDither library.
-