Main: fix compilation on OS X using non-Apple compilers

Commit d42c0f1dc5 added an OS X-specific
method of calling mpd_main_after_fork(), which uses Grand Central
Dispatch. Since this uses a block literal, it breaks compilation on
compilers which don't support the block extension, e.g. non-Apple
compilers. This affects users on older OS X releases with GCD (which
depend on older Clang releases, or Apple GCCs, which don't support the
C++11 features MPD needs); or which don't support GCD at all (10.5 and
lower).

This patch changes the #ifdef so that the non-GCD code is used
as it was on OS X before this patch if blocks aren't available, via
checking __BLOCKS__ macro.
This commit is contained in:
Misty De Meo
2014-11-10 19:38:22 -08:00
committed by Max Kellermann
parent 8d036c4b7c
commit 134cb6a017
2 changed files with 3 additions and 2 deletions

View File

@@ -114,7 +114,7 @@
#include <ws2tcpip.h>
#endif
#ifdef __APPLE__
#ifdef __BLOCKS__
#include <dispatch/dispatch.h>
#endif
@@ -517,7 +517,7 @@ int mpd_main(int argc, char *argv[])
daemonize_begin(options.daemon);
#endif
#ifdef __APPLE__
#ifdef __BLOCKS__
/* Runs the OS X native event loop in the main thread, and runs
the rest of mpd_main on a new thread. This lets CoreAudio receive
route change notifications (e.g. plugging or unplugging headphones).