Commit 6a16e08f authored by Warren Dukes's avatar Warren Dukes

add --stdout and make --no-daemon by default output to log files

git-svn-id: https://svn.musicpd.org/mpd/trunk@1267 09075e82-0dd4-0310-85a5-a0d7c8717e4f
parent 1a5b04e4
......@@ -7,25 +7,15 @@
e) ensure URL's are all ASCII, and properly %'d! check rfc's
for legal characters
2) have --no-daemon still output to log files, and add option --no-log-files
2) ACK error codes
3) resampling audio for compatibility, and better gapless/crossfading
a) use resampling from oggenc (is it fast enough for realtime?)
3) cleanup main()
4) when writing combined interface for all decodes to use, be sure to add a
common function and abstrct dealing with DecoderControl * and put
cycleLogFiles in there, so we cycleLogFiles while decoding, not just when
decoding has stopped.
4) handle '\n' in filenames
5) ACK error codes
5) compute average replaygain to use for non-replaygain songs
6) cleanup main()
7) handle '\n' in filenames
8) compute average replaygain to use for non-replaygain songs
9) change default port to 6600
6) change default port to 6600
Post-1.0
......
......@@ -60,6 +60,7 @@ typedef struct _Options {
char * usr;
char * dbFile;
int daemon;
int stdOutput;
int createDB;
int onlyCreateDB;
int onlyUpdateDB;
......@@ -76,6 +77,7 @@ void usage(char * argv[]) {
ERROR("options:\n");
ERROR(" --help this usage statement\n");
ERROR(" --no-daemon don't detach from console\n");
ERROR(" --stdout print msgs to stdout and stderr\n");
ERROR(" --create-db force (re)creation database\n");
ERROR(" --only-create-db create database and exit\n");
ERROR(" --only-update-db create database and exit\n");
......@@ -116,6 +118,7 @@ void parseOptions(int argc, char ** argv, Options * options) {
options->usr = NULL;
options->daemon = 1;
options->stdOutput = 0;
options->createDB = 0;
options->onlyCreateDB = 0;
options->onlyUpdateDB = 0;
......@@ -133,6 +136,10 @@ void parseOptions(int argc, char ** argv, Options * options) {
options->daemon = 0;
argcLeft--;
}
else if(strcmp(argv[i],"--stdout")==0) {
options->stdOutput = 1;
argcLeft--;
}
else if(strcmp(argv[i],"--create-db")==0) {
options->createDB = 1;
argcLeft--;
......@@ -382,6 +389,22 @@ int main(int argc, char * argv[]) {
exit(EXIT_FAILURE);
}
fflush(NULL);
pid = fork();
if(pid>0) _exit(EXIT_SUCCESS);
else if(pid<0) {
ERROR("problems fork'ing for daemon!\n");
exit(EXIT_FAILURE);
}
}
if(options.stdOutput) {
fclose(out);
fclose(err);
}
else {
fflush(NULL);
if(dup2(fileno(out),STDOUT_FILENO)<0) {
myfprintf(err,"problems dup2 stdout : %s\n",
strerror(errno));
......@@ -395,18 +418,6 @@ int main(int argc, char * argv[]) {
}
myfprintfStdLogMode(out,err,options.logFile,options.errorFile);
fflush(NULL);
pid = fork();
if(pid>0) _exit(EXIT_SUCCESS);
else if(pid<0) {
ERROR("problems fork'ing for daemon!\n");
exit(EXIT_FAILURE);
}
}
else {
fclose(out);
fclose(err);
}
/* lets redirect stdin to dev null as a work around for libao bug */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment