- 01 Jan, 2009 9 commits
-
-
Max Kellermann authored
There is no reason to use the shortcut "mix" instead of "mixer".
-
Max Kellermann authored
Don't start the daemon when MPD is called with "--version".
-
Max Kellermann authored
Make the event_pipe (formerly main_notify) send/receive a set of events, with a callback for each one. The default event PIPE_EVENT_SIGNAL does not have a callback. It is still there for waking up the main thread, when it is waiting for the player thread.
-
Max Kellermann authored
Continuing the previous patch.
-
Max Kellermann authored
We are going to migrate away from the concept of notifying the main thread. There should be events sent to it instead. This patch starts a series to implement that.
-
Max Kellermann authored
Removed all macros which are already provided by GLib.
-
Max Kellermann authored
Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
-
Max Kellermann authored
Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
-
Max Kellermann authored
Use GLib's G_GNUC_UNUSED instead of macros from gcc.h.
-
- 31 Dec, 2008 4 commits
-
-
Viliam Mateicka authored
-
Viliam Mateicka authored
-
Max Kellermann authored
With the GLib main loop, the client manager can install its own event in case a client is expired. No need for main.c to call client_manager_expire() manually.
-
Laszlo Ashin authored
-
- 30 Dec, 2008 25 commits
-
-
Max Kellermann authored
These functions are not used anymore since we use the GLib main loop.
-
Max Kellermann authored
Remove the event source from the GMainLoop object in client_set_expired().
-
Max Kellermann authored
We don't need to use asynchronous events to quit MPD, we can just call g_main_loop_quit() inside the handler.
-
Max Kellermann authored
Other libraries may need to access the main_loop reference, to add or remove events, or to call g_main_loop_quit().
-
Max Kellermann authored
We have no child processes anymore. Remove the SIGCHLD handler.
-
Max Kellermann authored
The SIGHUP handler was used by the update process to make the main process re-read the database. We don't need this anymore, since the update takes place in a thread now.
-
Max Kellermann authored
Most of these functions were obsoleted when we switched to threaded MPD.
-
Max Kellermann authored
This is a rather huge patch, which unfortunately cannot be splitted. Instead of using our custom ioops.h library, convert everything to use the GLib main loop.
-
Max Kellermann authored
Currently, both sides of the pipe are blocking, although we do not need blocking read(). Convert it back to blocking. Eliminate the select() from wait_main_task().
-
Max Kellermann authored
To wake up the main thread, don't attempt to use a GCond/GMutex (struct notify). This kind of mixed wakeup method has known race conditions. The idea behind this patch is: for wakeups which happen while the main thread is sleeping, use only a pipe. For wakeups which happen while the main thread is waiting for the player thread, we can later change to GCond. For now, accept the overhead of using a pipe for the latter. In the long run, the main thread will never wait for the player thread, but will do everything asynchronously.
-
Max Kellermann authored
There is no point in making the server socket non-blocking. We call accept() only after select() has notified us about a new connection.
-
Max Kellermann authored
The new WIN32 version of set_nonblocking() can only deal with sockets, i.e. it will fail on main_notify.c. On WIN32, we have to reimplement main_notify.c anyway, so this is not a big deal.
-
Max Kellermann authored
There are no unix sockets on WIN32, and therefore no authentication. WIN32 might have similar capabilities, but until we implement them, disable that MPD feature.
-
Max Kellermann authored
Sleep() has only millisecond granularity, but good enough for now.
-
Max Kellermann authored
On Windows, socket declarations reside in winsock.h and ws2tcpip.h. The POSIX headers are not available.
-
Max Kellermann authored
Add G_GNUC_UNUSED attributes.
-
Max Kellermann authored
To test if a string is empty, we can just see if the first byte is 0. No need to include string.h for strlen() here.
-
Max Kellermann authored
Moved implementation specific code to their own sources, internal declarations in zeroconf-internal.h.
-
Max Kellermann authored
If the configured avahi service name is invalid, abort MPD. Don't fall back to the default service name.
-
Max Kellermann authored
srandom() and random() are not portable. Use GLib's implementation.
-
Max Kellermann authored
Don't bother to call fstat() or isatty() on STDIN_FILENO.
-
Max Kellermann authored
redirect_stdin() is a daemonization function, and disconnecting from the standard input is always a good idea for MPD.
-
Max Kellermann authored
-
Max Kellermann authored
Merged freeAllListenSockets() into closeAllListenSockets(), because this is its only caller.
-
Viliam Mateicka authored
-
- 29 Dec, 2008 2 commits
-
-
Max Kellermann authored
Disable changeToUser(), daemonize(), killFromPidFile().
-
Max Kellermann authored
On WIN32, parsePath() now simply duplicates the input string. There is currently nothing special we can do here. The old code was not portable on WIN32.
-