diff options
| author | Vikas Gorur <vikas@gluster.com> | 2009-06-08 07:18:18 +0000 | 
|---|---|---|
| committer | Anand V. Avati <avati@dev.gluster.com> | 2009-06-09 09:13:23 -0700 | 
| commit | 5b90d71324802e88c72947b807884036cfd32b78 (patch) | |
| tree | 0ece47d73d0f7a909c67a104c34f603d8f035f52 /glusterfsd | |
| parent | 7c42fd0f2059329d620225962146cdd0414a8f69 (diff) | |
Print PID after daemonizing glusterfs.
PID used to be printed before glusterfs became a daemon,
which is incorrect since becoming a daemon involves
forking and thus the PID changes.
Fixes bug #8.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
Diffstat (limited to 'glusterfsd')
| -rw-r--r-- | glusterfsd/src/glusterfsd.c | 13 | 
1 files changed, 11 insertions, 2 deletions
diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c index 467fc40782c..23b180cc937 100644 --- a/glusterfsd/src/glusterfsd.c +++ b/glusterfsd/src/glusterfsd.c @@ -1117,7 +1117,7 @@ main (int argc, char *argv[])  		argp_help (&argp, stderr, ARGP_HELP_SEE, (char *) argv[0]);  		return -1;  	} -	_gf_dump_details (argc, argv); +  	if ((graph = _parse_specfp (ctx, specfp)) == NULL) {  		/* _parse_specfp() prints necessary error message */  		fprintf (stderr, "exiting\n"); @@ -1171,13 +1171,22 @@ main (int argc, char *argv[])  		}  		/* we are daemon now */ +                _gf_dump_details (argc, argv); +   		/* update pid file, if given */   		if (cmd_args->pid_file != NULL) {   			fprintf (ctx->pidfp, "%d\n", getpid ());   			fflush (ctx->pidfp);   			/* we close pid file on exit */   		} -	} +	} else { +                /* +                 * Need to have this line twice because PID is different +                 * in daemon and non-daemon cases. +                 */ + +                _gf_dump_details (argc, argv); +        }  	gf_log ("glusterfs", GF_LOG_DEBUG,   		"running in pid %d", getpid ());  | 
