diff --git a/src/daemon/main.c b/src/daemon/main.c index f381e8afb..150ce6d64 100644 --- a/src/daemon/main.c +++ b/src/daemon/main.c @@ -711,6 +711,10 @@ int main(int argc, char *argv[]) { * first take the autospawn lock to make things * synchronous. */ + /* This locking and thread synchronisation code doesn't work reliably + * on kFreeBSD (Debian bug #705435), or in upstream FreeBSD ports + * (bug reference: ports/128947, patched in SVN r231972). */ +#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) if ((autospawn_fd = pa_autospawn_lock_init()) < 0) { pa_log("Failed to initialize autospawn lock"); goto finish; @@ -722,6 +726,7 @@ int main(int argc, char *argv[]) { } autospawn_locked = true; +#endif } if (conf->daemonize) {