- 05 Jan, 2014 2 commits
-
-
Max Kellermann authored
For std::find_if().
-
Max Kellermann authored
Move code from AlsaMixerPlugin.
-
- 04 Jan, 2014 19 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
Now that the remaining known bugs in poll() implementation are fixed, we can go on without the GLib implementation.
-
Max Kellermann authored
Fixes more thread-safety bugs.
-
Max Kellermann authored
-
Max Kellermann authored
Add a Page queue to class HttpdOutput, and use DeferredMonitor to flush this queue inside the IOThread. This fixes a thread-safety issue: much of EventLoop is not thread-safe, and the httpd plugin ignored that problem.
-
Max Kellermann authored
Do all I/O in the IOThread and not in the main thread. This solves an upcoming deadlock problem.
-
Max Kellermann authored
Don't let the server care for client problems.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Don't iterate the std::list each time.
-
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 10 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.
-