Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2013-01-26 | Mapper: improve usage of Path class | Denis Krjuchkov | 6 | -46/+44 | |
2013-01-25 | PlayerControl: add second Cond object | Max Kellermann | 3 | -2/+34 | |
This fixes a deadlock bug introduced by 18076ac9. After all, the second Cond was necessary. The problem: two threads can wait for a signal at the same time. The player thread waits for the output thread to finish playback. The main thread waits for the player thread to complete a command. The output thread finishes playback, and sends a signal, which unfortunately does not wake up the player thread, but the main thread. The main thread sees that the command is still not finished, and waits again. The signal is lost forever, and MPD is deadlocked. | |||||
2013-01-25 | input_{internal,plugin}: convert to C++ | Max Kellermann | 18 | -43/+34 | |
2013-01-24 | archive/*: convert to C++ | Max Kellermann | 19 | -142/+185 | |
2013-01-23 | DecoderControl: fix typo in assertion check | Max Kellermann | 1 | -3/+3 | |
2013-01-22 | Path: move to fs subdirectory | Denis Krjuchkov | 21 | -22/+22 | |
2013-01-22 | FileSystem: extract DirectoryReader, improve the rest | Denis Krjuchkov | 3 | -100/+125 | |
- DirectoryReader is extracted to separate header - FileSystem.cxx/FileSystem.hxx/DirectoryReader.hxx moved to fs/ subdir - Functions return true on success, instead of 0 (where applicable) - ReadLink return result instead of out parameter - UnlinkFile is renamed to RemoveFile - CheckExists/CheckIsRegular/CheckIsDirectory are renamed to PathExists/FileExists/DirectoryExists | |||||
2013-01-21 | input/archive: fix memory leak in error handler | Max Kellermann | 1 | -1/+3 | |
2013-01-21 | input,playlist/despotify: convert to C++ | Max Kellermann | 8 | -45/+61 | |
2013-01-21 | despotify_utils: fix indent | Max Kellermann | 1 | -7/+7 | |
2013-01-21 | despotify_utils: include cleanup | Max Kellermann | 2 | -4/+6 | |
2013-01-21 | despotify_utils: add missing copyright header | Max Kellermann | 1 | -0/+19 | |
2013-01-21 | input/cdio_paranoia: convert to C++ | Max Kellermann | 3 | -53/+64 | |
2013-01-21 | input/ffmpeg: convert to C++ | Max Kellermann | 3 | -20/+30 | |
2013-01-21 | input/rewind: convert to C++ | Max Kellermann | 3 | -76/+80 | |
2013-01-21 | input/file,mms: convert to C++ | Max Kellermann | 5 | -69/+88 | |
2013-01-21 | input_internal.h: add extern "C" | Max Kellermann | 3 | -8/+8 | |
2013-01-21 | UpdateRemove: Mutex/Cond instead of GMutex/GCond | Max Kellermann | 3 | -22/+10 | |
2013-01-21 | DecoderControl: move functions into the class | Max Kellermann | 6 | -360/+281 | |
2013-01-20 | PlayerControl: move functions into the class | Max Kellermann | 14 | -400/+335 | |
2013-01-20 | FileSystem: new library for Path-friendly file system routines | Denis Krjuchkov | 2 | -0/+258 | |
2013-01-19 | dummy.cxx: remove unused file | Denis Krjuchkov | 1 | -30/+0 | |
This file was used previously to force C++ linkage. It's no longer required because most of the code is C++ anyway. | |||||
2013-01-18 | Path: new class "Path" wraps filesystem path strings | Max Kellermann | 21 | -238/+380 | |
2013-01-18 | Playlist, Song: clarify parameter encoding | Max Kellermann | 6 | -15/+15 | |
2013-01-17 | path: convert to C++ | Max Kellermann | 15 | -33/+20 | |
2013-01-16 | output/roar: convert to C++ | Max Kellermann | 4 | -137/+99 | |
2013-01-16 | Idle: don't wake up event loop on duplicate event | Max Kellermann | 1 | -2/+3 | |
2013-01-16 | Idle: use std::atomic instead of GMutex | Max Kellermann | 4 | -44/+5 | |
2013-01-16 | Main: fix comment typo | Max Kellermann | 1 | -1/+1 | |
2013-01-16 | ClientList: convert to a class | Max Kellermann | 12 | -152/+72 | |
2013-01-16 | ClientGlobal: move client_close_all() to ClientList.cxx | Max Kellermann | 3 | -32/+13 | |
2013-01-16 | Revert "ClientList: allow deleting clients in client_list_foreach() callback" | Max Kellermann | 1 | -2/+2 | |
This reverts commit f56c6a18c13f4135fa9944cb7cb568115a018955. This fix is not necessary anymore because clients are now being deleted by the timer callback. | |||||
2013-01-16 | Client: use TimeoutMonitor to track connection timeout | Max Kellermann | 6 | -78/+22 | |
Don't use a global loop over the whole client list. | |||||
2013-01-16 | Client: move "idle" functions into the class | Max Kellermann | 5 | -49/+36 | |
2013-01-16 | decoder/ffmpeg: support float planar audio | Brice Jaglin | 1 | -0/+5 | |
2013-01-16 | zeroconf-avahi: eliminate "goto" | Max Kellermann | 1 | -6/+1 | |
2013-01-15 | input/Curl: break loop when remaining length becomes 0 | Max Kellermann | 1 | -0/+6 | |
Fixes assertion failure (regression). | |||||
2013-01-15 | PlayerControl: initialise attribute "border_pause" | Max Kellermann | 1 | -1/+2 | |
2013-01-15 | Playlist: initialise attribute "playing" | Max Kellermann | 1 | -1/+1 | |
2013-01-15 | ServerSocket: use the SocketMonitor class | Max Kellermann | 5 | -56/+40 | |
2013-01-15 | event/SocketMonitor: add method Open() | Max Kellermann | 2 | -9/+27 | |
Allow creating a closed SocketMonitor instance. | |||||
2013-01-15 | ServerSocket: move more code to methods | Max Kellermann | 1 | -19/+30 | |
2013-01-15 | ServerSocket, SocketUtil: use the SocketError library | Max Kellermann | 2 | -23/+18 | |
Use WinSock errors on Windows. | |||||
2013-01-15 | socket_util: convert to C++ | Max Kellermann | 3 | -14/+6 | |
2013-01-15 | SocketError: merge duplicate FormatMessage() calls | Max Kellermann | 1 | -26/+36 | |
Make a class that contains the formatting code and the buffer. | |||||
2013-01-15 | server_socket: convert to C++ | Max Kellermann | 5 | -152/+158 | |
2013-01-15 | output/httpd: convert to C++ | Max Kellermann | 8 | -987/+911 | |
2013-01-15 | output_internal, ...: add extern "C" | Max Kellermann | 7 | -0/+56 | |
2013-01-15 | encoder/{Vorbis,Opus}: use new/delete | Max Kellermann | 2 | -10/+14 | |
2013-01-15 | InotifySource: use the SocketMonitor class | Max Kellermann | 3 | -40/+24 | |