Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ClientGlobal: move client_close_all() to ClientList.cxx | Max Kellermann | 2013-01-16 | 3 | -32/+13 |
| | |||||
* | Revert "ClientList: allow deleting clients in client_list_foreach() callback" | Max Kellermann | 2013-01-16 | 1 | -2/+2 |
| | | | | | | This reverts commit f56c6a18c13f4135fa9944cb7cb568115a018955. This fix is not necessary anymore because clients are now being deleted by the timer callback. | ||||
* | Client: use TimeoutMonitor to track connection timeout | Max Kellermann | 2013-01-16 | 6 | -78/+22 |
| | | | | Don't use a global loop over the whole client list. | ||||
* | Client: move "idle" functions into the class | Max Kellermann | 2013-01-16 | 5 | -49/+36 |
| | |||||
* | Merge branch 'v0.17.x' | Max Kellermann | 2013-01-16 | 1 | -0/+5 |
|\ | |||||
| * | decoder/ffmpeg: support float planar audio | Brice Jaglin | 2013-01-16 | 1 | -0/+5 |
| | | |||||
* | | zeroconf-avahi: eliminate "goto" | Max Kellermann | 2013-01-16 | 1 | -6/+1 |
| | | |||||
* | | input/Curl: break loop when remaining length becomes 0 | Max Kellermann | 2013-01-15 | 1 | -0/+6 |
| | | | | | | | | Fixes assertion failure (regression). | ||||
* | | PlayerControl: initialise attribute "border_pause" | Max Kellermann | 2013-01-15 | 1 | -1/+2 |
| | | |||||
* | | Playlist: initialise attribute "playing" | Max Kellermann | 2013-01-15 | 1 | -1/+1 |
| | | |||||
* | | ServerSocket: use the SocketMonitor class | Max Kellermann | 2013-01-15 | 5 | -56/+40 |
| | | |||||
* | | event/SocketMonitor: add method Open() | Max Kellermann | 2013-01-15 | 2 | -9/+27 |
| | | | | | | | | Allow creating a closed SocketMonitor instance. | ||||
* | | ServerSocket: move more code to methods | Max Kellermann | 2013-01-15 | 1 | -19/+30 |
| | | |||||
* | | ServerSocket, SocketUtil: use the SocketError library | Max Kellermann | 2013-01-15 | 2 | -23/+18 |
| | | | | | | | | Use WinSock errors on Windows. | ||||
* | | socket_util: convert to C++ | Max Kellermann | 2013-01-15 | 3 | -14/+6 |
| | | |||||
* | | SocketError: merge duplicate FormatMessage() calls | Max Kellermann | 2013-01-15 | 1 | -26/+36 |
| | | | | | | | | Make a class that contains the formatting code and the buffer. | ||||
* | | server_socket: convert to C++ | Max Kellermann | 2013-01-15 | 5 | -152/+158 |
| | | |||||
* | | output/httpd: convert to C++ | Max Kellermann | 2013-01-15 | 8 | -987/+911 |
| | | |||||
* | | output_internal, ...: add extern "C" | Max Kellermann | 2013-01-15 | 7 | -0/+56 |
| | | |||||
* | | encoder/{Vorbis,Opus}: use new/delete | Max Kellermann | 2013-01-15 | 2 | -10/+14 |
| | | |||||
* | | InotifySource: use the SocketMonitor class | Max Kellermann | 2013-01-15 | 3 | -40/+24 |
| | | |||||
* | | mixer/Alsa: use MultiSocketMonitor | Max Kellermann | 2013-01-15 | 1 | -134/+37 |
| | | |||||
* | | input/Curl: move code to class MultiSocketMonitor | Max Kellermann | 2013-01-15 | 3 | -116/+291 |
| | | |||||
* | | input/Curl: simpler GPollFD initialisation | Max Kellermann | 2013-01-15 | 1 | -5/+2 |
| | | | | | | | | Using initializer list. | ||||
* | | input/Curl: don't remove/add modified GPollFD | Max Kellermann | 2013-01-15 | 1 | -9/+2 |
| | | | | | | | | Not necessary, GLib will pick up the updated GPollFD automatically. | ||||
* | | Client: rebase on the new BufferedSocket class | Max Kellermann | 2013-01-15 | 10 | -304/+66 |
| | | |||||
* | | event/SocketMonitor: wrapper class for GSource + GPollFD | Max Kellermann | 2013-01-15 | 4 | -0/+607 |
| | | |||||
* | | Client: move output buffer code to new class PeakBuffer | Max Kellermann | 2013-01-15 | 6 | -165/+244 |
| | | |||||
* | | util/fifo_buffer: add method _init() | Max Kellermann | 2013-01-15 | 2 | -0/+11 |
| | | |||||
* | | Client: move connection functions into the class | Max Kellermann | 2013-01-15 | 11 | -56/+50 |
| | | |||||
* | | SignalHandlers: emit GlobalEvents::SHUTDOWN | Max Kellermann | 2013-01-15 | 1 | -1/+1 |
| | | | | | | | | .. instead of calling g_main_loop_quit(), which may dead-lock. | ||||
* | | fifo_buffer: move to util/ | Max Kellermann | 2013-01-15 | 13 | -12/+12 |
| | | |||||
* | | fifo_buffer: add extern "C" | Max Kellermann | 2013-01-15 | 4 | -8/+9 |
| | | |||||
* | | socket_error: new library for errno / WSAGetLastError() | Max Kellermann | 2013-01-15 | 1 | -0/+146 |
| | | |||||
* | | io_error: add function new_error_errno() | Max Kellermann | 2013-01-15 | 1 | -1/+8 |
| | | |||||
* | | Client*: include check.h / config.h | Max Kellermann | 2013-01-14 | 3 | -0/+3 |
| | | |||||
* | | ClientList: allow deleting clients in client_list_foreach() callback | Dark Raven | 2013-01-14 | 1 | -2/+2 |
| | | |||||
* | | Revert "ClientList.cxx: copy client list before iterating" | Max Kellermann | 2013-01-14 | 1 | -2/+1 |
| | | | | | | | | | | This reverts commit f53dadcc6d0a29ce7419a07a51762b4b44654696, to prepare for a better solution. | ||||
* | | event/TimeoutMonitor: wrapper for g_timeout_source_new() | Max Kellermann | 2013-01-14 | 8 | -60/+152 |
| | | |||||
* | | StateFile: convert to a class | Max Kellermann | 2013-01-14 | 3 | -75/+80 |
| | | |||||
* | | gcc.h: add C++11 "final" fallback macro | Max Kellermann | 2013-01-14 | 1 | -0/+1 |
| | | |||||
* | | InotifyQueue: convert to a class | Max Kellermann | 2013-01-14 | 3 | -41/+45 |
| | | |||||
* | | InotifySource: convert to a class | Max Kellermann | 2013-01-14 | 3 | -98/+96 |
| | | |||||
* | | Main, IOThread: move GMainLoop setup code to class EventLoop | Max Kellermann | 2013-01-14 | 11 | -76/+131 |
| | | |||||
* | | IOThread: use gcc.h | Max Kellermann | 2013-01-14 | 1 | -4/+6 |
| | | |||||
* | | ClientList.cxx: copy client list before iterating | Denis Krjuchkov | 2013-01-13 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | It seems that it is not safe to remove the item from std::list while it's being iterated somewhere else. This is a very simple quick fix to make things work until some better solution is implemented. | ||||
* | | WakeFD.cxx: use two sockets instead of pipe on Win32 | Denis Krjuchkov | 2013-01-13 | 2 | -5/+128 |
| | | | | | | | | | | | | | | | | | | Pipes aren't really pollable on Windows. GLib emulates polling on pipes using separate reader/writer threads. This adds significant overhead and keeps a strong dependency on GLib. socketpair() function is absent on Windows as well. We implement it here in a loose way. | ||||
* | | Win32Main.cxx: more clean shutdown | Denis Krjuchkov | 2013-01-13 | 1 | -5/+22 |
| | | | | | | | | | | | | | | | | | | | | This change fixes two issues: 1) console_handler is called from a separate thread. Thread-safe primitive is required for correct operation. 2) If console_handler returns TRUE our process is immediately terminated. We use Sleep() to give main thread an opportunity to shutdown correctly. | ||||
* | | 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(). | ||||
* | | GlobalEvents: #undef DELETE on Windows | Max Kellermann | 2013-01-11 | 1 | -0/+8 |
| | | | | | | | | Work around a build failure due to windows.h macro. |