Max Kellermann
03e650aa9e
main_notify: make the read side of the pipe blocking
...
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-30 19:20:36 +01:00
Max Kellermann
10b5966bf6
main_notify: removed notify object, use only pipe
...
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-30 19:20:20 +01:00
Max Kellermann
1f0804bdca
listen: don't make the server socket non-blocking
...
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-30 19:18:59 +01:00
Max Kellermann
6890183c50
utils: port set_nonblocking() to WIN32
...
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-30 19:17:20 +01:00
Max Kellermann
bb55ec6b4e
command: don't allow adding local files on WIN32
...
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-30 19:14:13 +01:00
Max Kellermann
7330002960
utils: implement my_usleep() with Sleep() on WIN32
...
Sleep() has only millisecond granularity, but good enough for now.
2008-12-30 19:10:08 +01:00
Max Kellermann
2eaeb65666
listen: include winsock headers on WIN32
...
On Windows, socket declarations reside in winsock.h and ws2tcpip.h.
The POSIX headers are not available.
2008-12-30 19:07:10 +01:00
Max Kellermann
e888af98a2
bonjour: fixed "unused parameter" warnings
...
Add G_GNUC_UNUSED attributes.
2008-12-30 16:45:49 +01:00
Max Kellermann
13867a1e7c
zeroconf: eliminated strlen() usage from initZeroconf()
...
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.
2008-12-30 16:45:43 +01:00
Max Kellermann
49fa9708d5
zeroconf: moved code to zeroconf-avahi.c and zeroconf-bonjour.c
...
Moved implementation specific code to their own sources, internal
declarations in zeroconf-internal.h.
2008-12-30 16:43:58 +01:00
Max Kellermann
bbed35822e
zeroconf: fail if avahi service name is invalid
...
If the configured avahi service name is invalid, abort MPD. Don't
fall back to the default service name.
2008-12-30 16:43:58 +01:00
Max Kellermann
e9a3c4ce32
playlist: use GLib's random number generator
...
srandom() and random() are not portable. Use GLib's implementation.
2008-12-30 16:34:32 +01:00
Max Kellermann
cdf1eaeb2c
daemon: simplified daemonize_close_stdin()
...
Don't bother to call fstat() or isatty() on STDIN_FILENO.
2008-12-30 16:28:18 +01:00
Max Kellermann
6c0f5fc612
listen: moved redirect_stdin() to daemon.c
...
redirect_stdin() is a daemonization function, and disconnecting from
the standard input is always a good idea for MPD.
2008-12-30 16:28:13 +01:00
Max Kellermann
671480814c
main: moved daemonize() to daemon.c
2008-12-30 16:28:07 +01:00
Max Kellermann
d99595c214
listen: eliminated freeAllListenSockets()
...
Merged freeAllListenSockets() into closeAllListenSockets(), because
this is its only caller.
2008-12-30 16:28:00 +01:00
Viliam Mateicka
4cc0caf1af
print supported decoders in --version
2008-12-30 14:17:15 +01:00
Max Kellermann
d38a7967ab
main: disable non-portable code on WIN32
...
Disable changeToUser(), daemonize(), killFromPidFile().
2008-12-29 17:43:00 +01:00
Max Kellermann
509d12ae88
utils: implement parsePath() with g_strdup() on WIN32
...
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.
2008-12-29 17:42:54 +01:00
Max Kellermann
d4638834f8
utils: use g_get_home_dir()
...
Use g_get_home_dir() to get the home directory of the current user.
This will be portable to win32.
2008-12-29 17:42:49 +01:00
Max Kellermann
db849d1eed
utils: make variables more local in parsePath()
...
Declare variables where they are really used.
2008-12-29 17:42:46 +01:00
Max Kellermann
3c9992aead
client: include winsock headers on WIN32
...
On Windows, socket declarations reside in winsock.h and ws2tcpip.h.
The POSIX headers sys/socket.h etc. are not available.
2008-12-29 17:42:43 +01:00
Max Kellermann
274b919966
main: use g_setenv() instead of setenv()
...
Removed the fallback setenv() implementation for solaris.
2008-12-29 17:37:40 +01:00
Max Kellermann
6517126204
log: removed unused logging wrappers
...
Removed GLib logging wrappers which are not used anymore.
2008-12-29 17:35:42 +01:00
Max Kellermann
91be85a307
main: use GLib logging
2008-12-29 17:35:40 +01:00
Max Kellermann
4d3dd1ed2a
path: use GLib logging
2008-12-29 17:32:53 +01:00
Max Kellermann
29500cedff
update: use GLib logging
2008-12-29 17:29:49 +01:00
Max Kellermann
ef308d9644
alsa: use GLib logging
2008-12-29 17:29:42 +01:00
Max Kellermann
74d4ec7fbb
jack: use GLib logging
2008-12-29 17:29:36 +01:00
Max Kellermann
eddf5e1e5e
fifo: use GLib logging
2008-12-29 17:29:31 +01:00
Max Kellermann
409ee38b42
state_file: use GLib logging
2008-12-29 17:29:23 +01:00
Max Kellermann
d4018c9966
volume: use GLib logging
2008-12-29 17:29:18 +01:00
Max Kellermann
e9b96c6e56
player_thread: use GLib logging
2008-12-29 17:29:14 +01:00
Max Kellermann
46bef03e5a
tag_id3: use GLib logging
2008-12-29 17:29:10 +01:00
Max Kellermann
0a9f69eaaa
listen: use GLib logging
2008-12-29 17:29:04 +01:00
Max Kellermann
d6170c30c8
utils: use GLib logging
2008-12-29 17:29:01 +01:00
Max Kellermann
173021e4eb
client: use GLib logging
2008-12-29 17:28:56 +01:00
Max Kellermann
e0fe4eb722
pcm: use GLib logging
2008-12-29 17:28:49 +01:00
Max Kellermann
f4ce43b958
database: use GLib logging
2008-12-29 17:28:37 +01:00
Max Kellermann
3fa5632704
log: automatically append newline
...
If a log message does not include a newline character, append it.
2008-12-29 17:28:34 +01:00
Max Kellermann
95b3430f52
removed os_compat.h
...
Only include headers which are really needed. os_compat.h aimed to
make MPD easily portable, but was never actually made portable.
2008-12-29 17:28:32 +01:00
Max Kellermann
041b8f697b
command: use gmtime() on WIN32
...
gmtime_r() is not available.
2008-12-29 17:28:13 +01:00
Max Kellermann
b5c5a6b4c7
condition: removed cond_timedwait() and cond_signal_async()
...
These methods are unused.
2008-12-29 17:28:09 +01:00
Thomas Jansen
0d8ba194be
tag_id3: strip leading and trailing whitespace from ID3 tags
...
Fix for bug #1491 .
2008-12-29 16:37:41 +01:00
Frank Mulder
a51fada124
mp4: support the writer/composer tag
...
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.
2008-12-29 11:29:01 +01:00
Max Kellermann
702d6a641d
configure.ac: append archive libraries to $MPD_LIBS
...
All archive plugins used to overwrite $MPD_LIBS, ignoring the existing
value. Make them append instead, keeping the old value.
2008-12-29 11:27:11 +01:00
Max Kellermann
dfe235900f
configure.ac: check for archive libraries only if enabled
...
Don't bother to look for libbz2, libzzip and libiso9660 if the plugins
are disabled.
2008-12-29 10:01:33 +01:00
Max Kellermann
8a8fdfb0ad
configure.ac: removed pthread checks
...
We're now using GLib threading.
2008-12-29 08:20:19 +01:00
Viliam Mateicka
6ad7be9525
update: fixing empty filenames in archives
2008-12-29 07:26:17 +01:00
Thomas Jansen
c15ac57271
osx_plugin: migrate from pthread to glib threads
2008-12-28 22:09:42 +01:00