aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* event_pipe: moved variable "main_task" to main.cMax Kellermann2009-01-035-7/+5
|
* sig_handlers: disable on WIN32Max Kellermann2009-01-031-0/+7
| | | | | WIN32 doesn't have POSIX signals. Disable the code. For a complete port, we will have to implement the WIN32 equivalent.
* command: fix adding local files on !WIN32Max Kellermann2009-01-031-1/+5
| | | | | | Due to a typo, adding local files was always denied. Disable the second playlist_append_file() invocation on WIN32.
* list: removed linked list libraryMax Kellermann2009-01-025-626/+0
| | | | It's been superseded by GLib's GSList.
* conf: use GLib's GSList libraryMax Kellermann2009-01-021-35/+54
| | | | Use GLib's singly-linked list library instead of our custom one.
* alsa: use GLib instead of utils.hMax Kellermann2009-01-021-3/+2
|
* jack: use GLib instead of utils.hMax Kellermann2009-01-021-15/+14
|
* jack: duplicate jack_get_ports() return valuesMax Kellermann2009-01-021-3/+4
| | | | | | | | | JACK documentation states: "The caller is responsible for calling free(3) any non-NULL returned value." This does not seem to include the array elements. Duplicate them after jack_get_ports(), and free only the array. Convert JackData.output_ports to non-const.
* update: use GLib instead of utils.hMax Kellermann2009-01-021-4/+5
|
* database: use GLib instead of utils.hMax Kellermann2009-01-021-2/+3
|
* playlist: use GLib instead of utils.hMax Kellermann2009-01-022-13/+17
|
* directory: use GLib instead of utils.hMax Kellermann2009-01-021-5/+6
|
* locate: use GLib instead of utils.hMax Kellermann2009-01-021-4/+5
|
* archive: use GLib instead of utils.hMax Kellermann2009-01-024-6/+3
|
* main: include main.h, fix dependenciesMax Kellermann2009-01-022-0/+3
|
* event_pipe: replaced PIPE_EVENT_SIGNAL with main_notifyMax Kellermann2009-01-026-23/+13
| | | | | | There is only one location using PIPE_EVENT_SIGNAL: to synchronize player_command() with player_command_finished(). Use the "notify" library instead of the event_pipe here.
* mapper: allocate the result of map_directory_child_fs(), map_song_fs()Max Kellermann2009-01-026-53/+72
| | | | Don't use fixed stack buffers.
* mapper: allocate the result of map_uri_fs(), map_directory_fs()Max Kellermann2009-01-024-37/+40
| | | | Don't use fixed stack buffers.
* update: use g_file_test() instead of stat()Max Kellermann2009-01-021-3/+2
| | | | | If we want to check whether a file is a directory, use GLib's g_file_test() instead of stat().
* oggflac: don't use gcc.hMax Kellermann2009-01-021-9/+10
| | | | | Use G_GNUC_UNUSED instead of mpd_unused (which has already been removed).
* playlist: use g_file_test() instead of stat()Max Kellermann2009-01-012-6/+3
| | | | | To find out whether a file exists, use g_file_test() instead of stat(), because it is more portable and easier to use.
* mapper: allocate playlist path from heapMax Kellermann2009-01-014-47/+60
| | | | Don't pass a static buffer to map_spl_utf8_to_fs().
* mapper: fall back to XDG music directoryMax Kellermann2009-01-012-1/+12
| | | | | | If no music_directory is configured, fall back to the XDG music directory, determined by g_get_user_special_dir(G_USER_DIRECTORY_MUSIC).
* removed the signal_check librariesMax Kellermann2009-01-014-87/+0
| | | | | | Nobody is using the signal_check library anymore. This patch also removes the SIGUSR1 handler.
* sig_handlers: use event_pipe for delivering SIGHUPMax Kellermann2009-01-013-13/+17
| | | | | 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.
* event_pipe: added event_pipe_emit_fast()Max Kellermann2009-01-012-0/+15
| | | | | | event_pipe_emit_fast() is aimed for use in signal handlers: it doesn't lock the mutex, and doesn't log on error. That makes it potentially lossy, but for its intended use, that does not matter.
* mixer: renamed mix_* options to mixer_*Max Kellermann2009-01-015-14/+14
| | | | There is no reason to use the shortcut "mix" instead of "mixer".
* cmdline: exit after --versionMax Kellermann2009-01-011-0/+3
| | | | Don't start the daemon when MPD is called with "--version".
* event_pipe: added pipe_event enum and callbacksMax Kellermann2009-01-018-27/+114
| | | | | | | | | 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.
* event_pipe: renamed functions from main_notify_* to event_pipe_*Max Kellermann2009-01-018-27/+27
| | | | Continuing the previous patch.
* main_notify: renamed source to event_pipe.cMax Kellermann2009-01-0110-12/+12
| | | | | | 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.
* gcc.h: removed all duplicate macrosMax Kellermann2009-01-011-16/+0
| | | | Removed all macros which are already provided by GLib.
* decoder plugins: don't include gcc.hMax Kellermann2009-01-015-12/+17
| | | | Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
* output plugins: don't include gcc.hMax Kellermann2009-01-019-24/+29
| | | | Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
* null: don't include gcc.hMax Kellermann2009-01-011-4/+7
| | | | Use GLib's G_GNUC_UNUSED instead of macros from gcc.h.
* Moving mixers to audio outputsViliam Mateicka2008-12-3116-448/+675
|
* exporting functionsViliam Mateicka2008-12-314-3/+9
|
* client: run client_manager_expire() in an idle eventMax Kellermann2008-12-313-3/+22
| | | | | | 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.
* ls.c: include config.h to have HAVE_CURL hereLaszlo Ashin2008-12-311-0/+1
|
* main_notify: removed lock()/unlock()Max Kellermann2008-12-312-14/+0
| | | | These functions are not used anymore since we use the GLib main loop.
* client: remember GLib source idMax Kellermann2008-12-311-9/+14
| | | | | Remove the event source from the GMainLoop object in client_set_expired().
* sig_handlers: call g_main_loop_quit() in SIGTERM handlerMax Kellermann2008-12-301-8/+21
| | | | | We don't need to use asynchronous events to quit MPD, we can just call g_main_loop_quit() inside the handler.
* main: export the main_loop variableMax Kellermann2008-12-304-2/+29
| | | | | Other libraries may need to access the main_loop reference, to add or remove events, or to call g_main_loop_quit().
* 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.