X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/3149c1e2b844685497d87db1a031197527101766..1c8f3db88212b2f4a5f79122af84f76b2c60da01:/server/play.c diff --git a/server/play.c b/server/play.c index 04d7d01..bd27474 100644 --- a/server/play.c +++ b/server/play.c @@ -127,16 +127,12 @@ static int speaker_readable(ev_source *ev, int fd, } void speaker_setup(ev_source *ev) { - int sp[2], lfd; + int sp[2]; pid_t pid; struct speaker_message sm; if(socketpair(PF_UNIX, SOCK_DGRAM, 0, sp) < 0) fatal(errno, "error calling socketpair"); - if(!isatty(2)) - lfd = logfd(ev, SPEAKER); - else - lfd = -1; if(!(pid = xfork())) { exitfn = _exit; ev_signal_atfork(ev); @@ -144,17 +140,17 @@ void speaker_setup(ev_source *ev) { xdup2(sp[0], 1); xclose(sp[0]); xclose(sp[1]); - if(lfd != -1) { - xdup2(lfd, 2); - xclose(lfd); - } signal(SIGPIPE, SIG_DFL); #if 0 execlp("valgrind", "valgrind", SPEAKER, "--config", configfile, - debugging ? "--debug" : "--no-debug", (char *)0); + debugging ? "--debug" : "--no-debug", + log_default == &log_syslog ? "--syslog" : "--no-syslog", + (char *)0); #else execlp(SPEAKER, SPEAKER, "--config", configfile, - debugging ? "--debug" : "--no-debug", (char *)0); + debugging ? "--debug" : "--no-debug", + log_default == &log_syslog ? "--syslog" : "--no-syslog", + (char *)0); #endif fatal(errno, "error invoking %s", SPEAKER); } @@ -424,7 +420,11 @@ static int start(ev_source *ev, speaker_send(speaker_fd, &sm); D(("sent SM_PLAY for %s", sm.id)); } - execlp("disorder-normalize", "disorder-normalize", (char *)0); + /* TODO stderr shouldn't be redirected for disorder-normalize + * (but it should be for play_track() */ + execlp("disorder-normalize", "disorder-normalize", + log_default == &log_syslog ? "--syslog" : "--no-syslog", + (char *)0); fatal(errno, "executing disorder-normalize"); /* end of the innermost fork */ }