Dale Ghent
2004-Aug-06 14:57 UTC
[icecast-dev] [PATCH] main.c: use pid_t and cleanup command line opts parsing.
Use pid_t instead of int for variable processID Add error message if fork() fails. Do not immediately return() after encountering the -c flag - we may still have additional argv members to find and take care of. /dale -------------- next part -------------- Index: main.c ==================================================================RCS file: /usr/local/cvsroot/icecast/src/main.c,v retrieving revision 1.40 diff -u -r1.40 main.c --- a/main.c 9 Mar 2004 23:52:20 -0000 1.40 +++ b/main.c 20 Mar 2004 20:26:56 -0000 @@ -136,17 +136,24 @@ static int _parse_config_file(int argc, char **argv, char *filename, int size) { int i = 1; - int processID = 0; + +#ifndef WIN32 + pid_t processID; +#endif if (argc < 2) return -1; while (i < argc) { if (strcmp(argv[i], "-b") == 0) { #ifndef WIN32 - fprintf(stdout, "Starting icecast2\nDetaching from the console\n"); - if ((processID = (int)fork()) > 0) { + fprintf(stdout, "Detaching from the console...\n"); + + if ((processID = fork()) > 0) /* exit the parent */ - _exit(0); + exit(0); + else if (processID == -1) { + fprintf(stderr, "FATAL: Unable to fork child!"); + exit(1); } #endif } @@ -159,7 +166,6 @@ if (i + 1 < argc) { strncpy(filename, argv[i + 1], size-1); filename[size-1] = 0; - return 1; } else { return -1; } +mb+rzqk7&zzmy:.mkabzhj]zrj) '+a{ +v&{ay,ry'rzg-b"V ~)mz
Dale Ghent
2004-Aug-06 14:57 UTC
[icecast-dev] [PATCH] main.c: use pid_t and cleanup command line opts parsing.
On Mar 21, 2004, at 9:04 PM, Michael Smith wrote:> Obviously not even tested; it is clear that with this patch icecast > will > always refuse to start. > > That sort of thing really isn't helpful.dunno, it worked for me. I'll review and try to find out what you're seeing. /dale --- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Michael Smith
2004-Aug-06 14:57 UTC
[icecast-dev] [PATCH] main.c: use pid_t and cleanup command line opts parsing.
On Sunday 21 March 2004 07:32, Dale Ghent wrote:> Use pid_t instead of int for variable processID > > Add error message if fork() fails. > > Do not immediately return() after encountering the -c flag - we may still > have additional argv members to find and take care of. >Obviously not even tested; it is clear that with this patch icecast will always refuse to start. That sort of thing really isn't helpful. Mike <p>--- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.