aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-01-02jack: use GLib instead of utils.hMax Kellermann1-15/+14
2009-01-02jack: duplicate jack_get_ports() return valuesMax Kellermann1-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.
2009-01-02update: use GLib instead of utils.hMax Kellermann1-4/+5
2009-01-02database: use GLib instead of utils.hMax Kellermann1-2/+3
2009-01-02playlist: use GLib instead of utils.hMax Kellermann2-13/+17
2009-01-02directory: use GLib instead of utils.hMax Kellermann1-5/+6
2009-01-02locate: use GLib instead of utils.hMax Kellermann1-4/+5
2009-01-02archive: use GLib instead of utils.hMax Kellermann4-6/+3
2009-01-02main: include main.h, fix dependenciesMax Kellermann2-0/+3
2009-01-02event_pipe: replaced PIPE_EVENT_SIGNAL with main_notifyMax Kellermann6-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.
2009-01-02mapper: allocate the result of map_directory_child_fs(), map_song_fs()Max Kellermann6-53/+72
Don't use fixed stack buffers.
2009-01-02mapper: allocate the result of map_uri_fs(), map_directory_fs()Max Kellermann4-37/+40
Don't use fixed stack buffers.
2009-01-02update: use g_file_test() instead of stat()Max Kellermann1-3/+2
If we want to check whether a file is a directory, use GLib's g_file_test() instead of stat().
2009-01-02oggflac: don't use gcc.hMax Kellermann1-9/+10
Use G_GNUC_UNUSED instead of mpd_unused (which has already been removed).
2009-01-01playlist: use g_file_test() instead of stat()Max Kellermann2-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.
2009-01-01mapper: allocate playlist path from heapMax Kellermann4-47/+60
Don't pass a static buffer to map_spl_utf8_to_fs().
2009-01-01mapper: fall back to XDG music directoryMax Kellermann1-1/+11
If no music_directory is configured, fall back to the XDG music directory, determined by g_get_user_special_dir(G_USER_DIRECTORY_MUSIC).
2009-01-01removed the signal_check librariesMax Kellermann4-87/+0
Nobody is using the signal_check library anymore. This patch also removes the SIGUSR1 handler.
2009-01-01sig_handlers: use event_pipe for delivering SIGHUPMax Kellermann3-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.
2009-01-01event_pipe: added event_pipe_emit_fast()Max Kellermann2-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.
2009-01-01mixer: renamed mix_* options to mixer_*Max Kellermann3-6/+6
There is no reason to use the shortcut "mix" instead of "mixer".
2009-01-01cmdline: exit after --versionMax Kellermann1-0/+3
Don't start the daemon when MPD is called with "--version".
2009-01-01event_pipe: added pipe_event enum and callbacksMax Kellermann8-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.
2009-01-01event_pipe: renamed functions from main_notify_* to event_pipe_*Max Kellermann8-27/+27
Continuing the previous patch.
2009-01-01main_notify: renamed source to event_pipe.cMax Kellermann10-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.
2009-01-01gcc.h: removed all duplicate macrosMax Kellermann1-16/+0
Removed all macros which are already provided by GLib.
2009-01-01decoder plugins: don't include gcc.hMax Kellermann5-12/+17
Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
2009-01-01output plugins: don't include gcc.hMax Kellermann9-24/+29
Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
2009-01-01null: don't include gcc.hMax Kellermann1-4/+7
Use GLib's G_GNUC_UNUSED instead of macros from gcc.h.
2008-12-31Moving mixers to audio outputsViliam Mateicka13-433/+649
2008-12-31exporting functionsViliam Mateicka4-3/+9
2008-12-31client: run client_manager_expire() in an idle eventMax Kellermann3-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.
2008-12-31ls.c: include config.h to have HAVE_CURL hereLaszlo Ashin1-0/+1
2008-12-31main_notify: removed lock()/unlock()Max Kellermann2-14/+0
These functions are not used anymore since we use the GLib main loop.
2008-12-31client: remember GLib source idMax Kellermann1-9/+14
Remove the event source from the GMainLoop object in client_set_expired().
2008-12-30sig_handlers: call g_main_loop_quit() in SIGTERM handlerMax Kellermann1-8/+21
We don't need to use asynchronous events to quit MPD, we can just call g_main_loop_quit() inside the handler.
2008-12-30main: export the main_loop variableMax Kellermann4-2/+29
Other libraries may need to access the main_loop reference, to add or remove events, or to call g_main_loop_quit().
2008-12-30sig_handlers: removed SIGCHLDMax Kellermann1-18/+0
We have no child processes anymore. Remove the SIGCHLD handler.
2008-12-30sig_handlers: don't reload database on SIGHUPMax Kellermann1-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.
2008-12-30sig_handlers: removed unused functionsMax Kellermann4-69/+0
Most of these functions were obsoleted when we switched to threaded MPD.
2008-12-30main: use the GLib main loopMax Kellermann12-567/+173
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.
2008-12-30main_notify: make the read side of the pipe blockingMax Kellermann3-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().
2008-12-30main_notify: removed notify object, use only pipeMax Kellermann1-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.
2008-12-30listen: don't make the server socket non-blockingMax Kellermann1-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.
2008-12-30utils: port set_nonblocking() to WIN32Max Kellermann1-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.
2008-12-30command: don't allow adding local files on WIN32Max Kellermann3-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.
2008-12-30utils: implement my_usleep() with Sleep() on WIN32Max Kellermann1-0/+8
Sleep() has only millisecond granularity, but good enough for now.
2008-12-30listen: include winsock headers on WIN32Max Kellermann1-0/+6
On Windows, socket declarations reside in winsock.h and ws2tcpip.h. The POSIX headers are not available.
2008-12-30bonjour: fixed "unused parameter" warningsMax Kellermann1-7/+13
Add G_GNUC_UNUSED attributes.
2008-12-30zeroconf: eliminated strlen() usage from initZeroconf()Max Kellermann1-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.