| Commit message (Collapse) | Author | Files | Lines |
|
More preparations for multi-player support.
|
|
|
|
Eliminate the C wrappers.
|
|
|
|
|
|
|
|
|
|
playlist and player_control are deprecated.
|
|
|
|
This is the beginning of multi-player support. There will be support
for multiple Partition objects in one MPD process.
|
|
Reduce access to the global variable "g_playlist".
|
|
|
|
|
|
|
|
GLib 2.16 was released more than 4 years ago. Let's remove some cruft
from the glib_compat.h header, and avoid new cruft to it.
|
|
|
|
|
|
|
|
Allocate a player_control object where needed, and pass it around.
Each "client" object is associated with a "player_control" instance.
This prepares multi-player support.
|
|
|
|
|
|
I've attached a patch that will make file URIs work on operating systems
that provide the getpeereid() function call to check the user ID of the
peer connected to a UNIX domain socket.
|
|
I've attached a patch that will make file URIs work on operating systems
that provide the getpeereid() function call to check the user ID of the
peer connected to a UNIX domain socket.
|
|
|
|
|
|
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.
|
|
Drop the required GLib version from 2.16 to 2.12, because many current
systems still don't have GLib 2.16. This requires several new
compatibility functions in glib_compat.h.
|
|
Changed the wrappers for pipe(), socket(), accept(). On WIN32, this
does not work for pipe().
|
|
Added the "fd_util" library, which attempts to use the new thread-safe
Linux system calls pipe2(), accept4() and the options O_CLOEXEC,
SOCK_CLOEXEC. Without these, it falls back to FD_CLOEXEC, which is
not thread safe.
This is particularly important for the "pipe" output plugin (and
others, such as JACK/PulseAudio), because we were heavily leaking file
descriptors to child processes.
|
|
Don't call g_error(), which will abort the process and dump core.
|
|
Several users had problems with binding MPD to "localhost". The cause
was duplicate /etc/hosts entries: the resolver library returns
127.0.0.1 twice, and of course, MPD attempts to bind to "both" of
them. This patch makes failures non-fatal, given that at least one
address was bound successfully. This is a workaround; users should
rather fix their /etc/hosts file.
|
|
|
|
Dump each socket address before binding to it.
|
|
|
|
Moved code from listen_add_address() (listen.c) to socket_util.c.
|
|
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.
|
|
When the unix domain socket path is too long, don't abort with
g_error().
|
|
|
|
During the listen_add_host() API transition, the windows code wasn't
tested, and several removed arguments are still in use there.
|
|
The generic sockaddr struct is too small for some addresses. For
accept(), we have to allocate a sockaddr_storage struct on the stack,
which is large enough for all addresses.
|
|
Removed the sockaddr_to_tmp_string() hack, use
the new function sockaddr_to_string() instead.
|
|
Work around gcc warnings by casting the parameters to void.
|
|
Don't explicitly check is_ipv6_enabled(), just try calling
listen_add_port_ipv6(), but check its error code.
|
|
Some more code simplification.
|
|
For default bind_to_address settings, don't call
listen_add_config_param(NULL), use listen_add_port() directly.
|
|
Split code from the rather large function listen_add_config_param(),
part 3.
|
|
Split code from the rather large function listen_add_config_param(),
part 2.
|
|
Split code from the rather large function listen_add_config_param().
|
|
Don't return -1 on failure, and abort on fatal error - do proper error
reporting with GError, and return false on failure.
|
|
|