- 03 Jan, 2017 1 commit
-
-
Max Kellermann authored
-
- 26 Feb, 2016 1 commit
-
-
Max Kellermann authored
-
- 18 Dec, 2015 1 commit
-
-
Max Kellermann authored
-
- 01 Jan, 2015 1 commit
-
-
Max Kellermann authored
-
- 11 Aug, 2014 1 commit
-
-
Max Kellermann authored
-
- 19 Feb, 2014 1 commit
-
-
Max Kellermann authored
-
- 13 Jan, 2014 1 commit
-
-
Max Kellermann authored
-
- 07 Jan, 2014 1 commit
-
-
Max Kellermann authored
-
- 30 Oct, 2013 1 commit
-
-
Max Kellermann authored
-
- 30 Jan, 2013 1 commit
-
-
Max Kellermann authored
-
- 06 Mar, 2012 1 commit
-
-
Max Kellermann authored
Make sure we get a UTF-8 encoded string.
-
- 29 Aug, 2011 1 commit
-
-
Max Kellermann authored
Clean up the process before exiting.
-
- 29 Jan, 2011 1 commit
-
-
Max Kellermann authored
-
- 25 Sep, 2010 1 commit
-
-
Thomas Jansen authored
Replaced all occurrences of g_error() with MPD_ERROR() located in a new header file 'mpd_error.h'. This macro uses g_critical() to print the error message and then exits gracefully in contrast to g_error() which would internally call abort() to produce a core dump. The macro name is distinctive and allows to find all places with dubious error handling. The long-term goal is to get rid of MPD_ERROR() altogether. To facilitate the eventual removal of this macro it was added in a new header file rather than to an existing header file. This fixes #2995 and #3007.
-
- 25 Jul, 2010 1 commit
-
-
Max Kellermann authored
MPD doesn't have child processes anymore, and thus we're not expecting to receive SIGCHLD very often. Since hard disk access isn't interrupted by signals anyway, we don't need those excessive checks.
-
- 01 Jan, 2010 1 commit
-
-
Avuton Olrich authored
-
- 12 Nov, 2009 1 commit
-
-
Max Kellermann authored
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
-
- 15 Mar, 2009 2 commits
-
-
Max Kellermann authored
Use GLib the logging functions g_debug(), g_error() instead.
-
Max Kellermann authored
-
- 13 Mar, 2009 1 commit
-
-
Avuton Olrich authored
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
-
- 03 Jan, 2009 1 commit
-
-
Max Kellermann authored
WIN32 doesn't have POSIX signals. Disable the code. For a complete port, we will have to implement the WIN32 equivalent.
-
- 01 Jan, 2009 2 commits
-
-
Max Kellermann authored
Nobody is using the signal_check library anymore. This patch also removes the SIGUSR1 handler.
-
Max Kellermann authored
The signal_check library went out of order when we started using the GLib main loop. Convert the SIGHUP handler to use event_pipe instead.
-
- 30 Dec, 2008 4 commits
-
-
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
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.
-
- 24 Nov, 2008 1 commit
-
-
Thomas Jansen authored
-
- 08 Oct, 2008 4 commits
-
-
Max Kellermann authored
Yet another CamelCase removal patch.
-
Max Kellermann authored
Taming the directory.c monster, part II: move the database management stuff to database. directory.c should only contain code which works on directory objects.
-
Max Kellermann authored
When there are standardized headers, use these instead of the bloated os_compat.h.
-
Max Kellermann authored
The source directory.c mixes several libraries: directory object management, database management and database update, resulting in a 1000+ line monster. Move the whole database update code to update.c.
-
- 23 Sep, 2008 1 commit
-
-
Eric Wong authored
A lot of the preparation was needed (and done in previous months) in making update thread-safe, but here it is. This was the first thing I made work inside a thread when I started mpd-uclinux many years ago, and also the last thing I've done in mainline mpd to work inside a thread, go figure.
-
- 26 Aug, 2008 2 commits
-
-
Max Kellermann authored
Include only headers which are really required. This speeds up compilation and helps detect cross-layer accesses.
-
Max Kellermann authored
Also enable -Wunused-parameter - this forces us to add the gcc "unused" attribute to a lot of parameters (mostly library callback functions), but it's worth it during code refactorizations.
-
- 12 Apr, 2008 2 commits
-
-
Max Kellermann authored
Try to only include headers which are really needed. We should particularly check all "headers including other headers". The long-term goal is to have a manageable, small API for plugins (decoders, output) without so many mpd internals cluttering the namespace. git-svn-id: https://svn.musicpd.org/mpd/trunk@7319 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
Eric Wong authored
I initially started to do a heavy rewrite that changed the way processes communicated, but that was too much to do at once. So this change only focuses on replacing the player and decode processes with threads and using condition variables instead of polling in loops; so the changeset itself is quiet small. * The shared output buffer variables will still need locking to guard against race conditions. So in this effect, we're probably just as buggy as before. The reduced context-switching overhead of using threads instead of processes may even make bugs show up more or less often... * Basic functionality appears to be working for playing local (and NFS) audio, including: play, pause, stop, seek, previous, next, and main playlist editing * I haven't tested HTTP streams yet, they should work. * I've only tested ALSA and Icecast. ALSA works fine, Icecast metadata seems to get screwy at times and breaks song advancement in the playlist at times. * state file loading works, too (after some last-minute hacks with non-blocking wakeup functions) * The non-blocking (*_nb) variants of the task management functions are probably overused. They're more lenient and easier to use because much of our code is still based on our previous polling-based system. * It currently segfaults on exit. I haven't paid much attention to the exit/signal-handling routines other than ensuring it compiles. At least the state file seems to work. We don't do any cleanups of the threads on exit, yet. * Update is still done in a child process and not in a thread. To do this in a thread, we'll need to ensure it does proper locking and communication with the main thread; but should require less memory in the end because we'll be updating the database "in-place" rather than updating a copy and then bulk-loading when done. * We're more sensitive to bugs in 3rd party libraries now. My plan is to eventually use a master process which forks() and restarts the child when it dies: locking and communication with the main thread; but should require less memory in the end because we'll be updating the database "in-place" rather than updating a copy and then bulk-loading when done. * We're more sensitive to bugs in 3rd party libraries now. My plan is to eventually use a master process which forks() and restarts the child when it dies: master - just does waitpid() + fork() in a loop \- main thread \- decoder thread \- player thread At the beginning of every song, the main thread will set a dirty flag and update the state file. This way, if we encounter a song that triggers a segfault killing the main thread, the master will start the replacement main on the next song. * The main thread still wakes up every second on select() to check for signals; which affects power management. [merged r7138 from branches/ew] git-svn-id: https://svn.musicpd.org/mpd/trunk@7240 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
- 26 Jan, 2008 1 commit
-
-
Max Kellermann authored
Signed-off-by:
Eric Wong <normalperson@yhbt.net> git-svn-id: https://svn.musicpd.org/mpd/trunk@7143 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
- 03 Jan, 2008 1 commit
-
-
Eric Wong authored
This will make refactoring features easier, especially now that pthreads support and larger refactorings are on the horizon. Hopefully, this will make porting to other platforms (even non-UNIX-like ones for masochists) easier, too. os_compat.h will house all the #includes for system headers considered to be the "core" of MPD. Headers for optional features will be left to individual source files. git-svn-id: https://svn.musicpd.org/mpd/trunk@7130 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
- 27 Aug, 2007 1 commit
-
-
J. Alexander Treuman authored
As unfortunate as it is to remove such useful debugging messages, it's necessary to fix a potential deadlock with signal handling. A bunch of functions the debug functions call aren't safe to call from a signal handler. There are some alternate solutions, but they're neither pretty nor simple. So just remove them entirely for now. git-svn-id: https://svn.musicpd.org/mpd/trunk@6828 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-