aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* sig_handlers: removed SIGCHLDMax Kellermann2008-12-301-18/+0
| | | | We have no child processes anymore. Remove the SIGCHLD handler.
* sig_handlers: don't reload database on SIGHUPMax Kellermann2008-12-301-7/+0
| | | | | | 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.
* sig_handlers: removed unused functionsMax Kellermann2008-12-304-69/+0
| | | | | Most of these functions were obsoleted when we switched to threaded MPD.
* main: use the GLib main loopMax Kellermann2008-12-3013-568/+174
| | | | | | | 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.
* main_notify: make the read side of the pipe blockingMax Kellermann2008-12-303-27/+6
| | | | | | 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().
* main_notify: removed notify object, use only pipeMax Kellermann2008-12-301-34/+17
| | | | | | | | | | | | | | | 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.
* listen: don't make the server socket non-blockingMax Kellermann2008-12-301-7/+1
| | | | | There is no point in making the server socket non-blocking. We call accept() only after select() has notified us about a new connection.
* utils: port set_nonblocking() to WIN32Max Kellermann2008-12-301-0/+6
| | | | | | 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.
* command: don't allow adding local files on WIN32Max Kellermann2008-12-303-0/+8
| | | | | | 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.
* utils: implement my_usleep() with Sleep() on WIN32Max Kellermann2008-12-301-0/+8
| | | | Sleep() has only millisecond granularity, but good enough for now.
* listen: include winsock headers on WIN32Max Kellermann2008-12-301-0/+6
| | | | | On Windows, socket declarations reside in winsock.h and ws2tcpip.h. The POSIX headers are not available.
* bonjour: fixed "unused parameter" warningsMax Kellermann2008-12-301-7/+13
| | | | Add G_GNUC_UNUSED attributes.
* zeroconf: eliminated strlen() usage from initZeroconf()Max Kellermann2008-12-301-3/+1
| | | | | 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.
* zeroconf: moved code to zeroconf-avahi.c and zeroconf-bonjour.cMax Kellermann2008-12-306-556/+649
| | | | | Moved implementation specific code to their own sources, internal declarations in zeroconf-internal.h.
* zeroconf: fail if avahi service name is invalidMax Kellermann2008-12-301-8/+4
| | | | | If the configured avahi service name is invalid, abort MPD. Don't fall back to the default service name.
* playlist: use GLib's random number generatorMax Kellermann2008-12-301-7/+10
| | | | srandom() and random() are not portable. Use GLib's implementation.
* daemon: simplified daemonize_close_stdin()Max Kellermann2008-12-301-16/+6
| | | | Don't bother to call fstat() or isatty() on STDIN_FILENO.
* listen: moved redirect_stdin() to daemon.cMax Kellermann2008-12-304-29/+34
| | | | | redirect_stdin() is a daemonization function, and disconnecting from the standard input is always a good idea for MPD.
* main: moved daemonize() to daemon.cMax Kellermann2008-12-304-59/+116
|
* listen: eliminated freeAllListenSockets()Max Kellermann2008-12-302-5/+0
| | | | | Merged freeAllListenSockets() into closeAllListenSockets(), because this is its only caller.
* print supported decoders in --versionViliam Mateicka2008-12-303-0/+19
|
* main: disable non-portable code on WIN32Max Kellermann2008-12-291-0/+14
| | | | Disable changeToUser(), daemonize(), killFromPidFile().
* utils: implement parsePath() with g_strdup() on WIN32Max Kellermann2008-12-291-2/+10
| | | | | | 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.
* utils: use g_get_home_dir()Max Kellermann2008-12-291-6/+4
| | | | | Use g_get_home_dir() to get the home directory of the current user. This will be portable to win32.
* utils: make variables more local in parsePath()Max Kellermann2008-12-291-16/+22
| | | | Declare variables where they are really used.
* client: include winsock headers on WIN32Max Kellermann2008-12-292-3/+9
| | | | | On Windows, socket declarations reside in winsock.h and ws2tcpip.h. The POSIX headers sys/socket.h etc. are not available.
* main: use g_setenv() instead of setenv()Max Kellermann2008-12-292-43/+1
| | | | Removed the fallback setenv() implementation for solaris.
* log: removed unused logging wrappersMax Kellermann2008-12-292-8/+0
| | | | Removed GLib logging wrappers which are not used anymore.
* main: use GLib loggingMax Kellermann2008-12-291-33/+34
|
* path: use GLib loggingMax Kellermann2008-12-291-5/+7
|
* update: use GLib loggingMax Kellermann2008-12-291-18/+21
|
* alsa: use GLib loggingMax Kellermann2008-12-291-29/+30
|
* jack: use GLib loggingMax Kellermann2008-12-291-28/+30
|
* fifo: use GLib loggingMax Kellermann2008-12-291-21/+24
|
* state_file: use GLib loggingMax Kellermann2008-12-291-8/+10
|
* volume: use GLib loggingMax Kellermann2008-12-291-26/+29
|
* player_thread: use GLib loggingMax Kellermann2008-12-291-8/+10
|
* tag_id3: use GLib loggingMax Kellermann2008-12-291-12/+19
|
* listen: use GLib loggingMax Kellermann2008-12-291-29/+32
|
* utils: use GLib loggingMax Kellermann2008-12-291-14/+13
|
* client: use GLib loggingMax Kellermann2008-12-291-48/+53
|
* pcm: use GLib loggingMax Kellermann2008-12-294-67/+76
|
* database: use GLib loggingMax Kellermann2008-12-291-36/+38
|
* log: automatically append newlineMax Kellermann2008-12-291-4/+19
| | | | If a log message does not include a newline character, append it.
* removed os_compat.hMax Kellermann2008-12-2930-103/+99
| | | | | Only include headers which are really needed. os_compat.h aimed to make MPD easily portable, but was never actually made portable.
* command: use gmtime() on WIN32Max Kellermann2008-12-291-1/+8
| | | | gmtime_r() is not available.
* condition: removed cond_timedwait() and cond_signal_async()Max Kellermann2008-12-292-38/+0
| | | | These methods are unused.
* tag_id3: strip leading and trailing whitespace from ID3 tagsThomas Jansen2008-12-291-2/+6
| | | | Fix for bug #1491.
* mp4: support the writer/composer tagFrank Mulder2008-12-291-0/+2
| | | | | | | | | | I tried to search for a certain composer in my collection, but only non-mp4 files showed up. The source code reveals that this tag is not read. This can be fixed by reading the 'Writer' tag field, in mp4_plugin.c, in function mp4_load_tag. I actually tried this, and after compiling with those lines added, also mp4 (.m4a) files showed up when searching for a composer.
* configure.ac: append archive libraries to $MPD_LIBSMax Kellermann2008-12-291-4/+9
| | | | | All archive plugins used to overwrite $MPD_LIBS, ignoring the existing value. Make them append instead, keeping the old value.