r19533: Add a suffix to the program name if this is a process with a
authorJeremy Allison <jra@samba.org>
Thu, 2 Nov 2006 09:37:52 +0000 (09:37 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:15:41 +0000 (12:15 -0500)
non-default configuration file name.
Jeremy.
(This used to be commit e8bf421c018ed829b9dba7c0872693080b77d49d)

source3/Makefile.in
source3/lib/pidfile.c

index f21548562bdbae3637694a12eba158434aaed730..ad2c507da979f75287a26f6f74979163c26fb179 100644 (file)
@@ -965,6 +965,10 @@ dynconfig.o: dynconfig.c Makefile
                echo "$(CC) $(FLAGS) $(PATH_FLAGS) $(PICFLAG) -c $(srcdir)/dynconfig.c -o $@" 1>&2;\
                $(CC) $(FLAGS) $(PATH_FLAGS) $(PICFLAG) -c $(srcdir)/dynconfig.c -o $@ >/dev/null 2>&1
 
+lib/pidfile.o: lib/pidfile.c
+       @echo Compiling $*.c
+       @$(CC) -I. -I$(srcdir) $(FLAGS) $(PATH_FLAGS) $(PICFLAG) -c $(srcdir)/lib/pidfile.c -o $@
+
 lib/version.o: lib/version.c include/version.h
        @echo Compiling $*.c
        @$(CC) -I. -I$(srcdir) $(FLAGS) $(PATH_FLAGS) $(PICFLAG) -c $(srcdir)/lib/version.c -o $@ 
index 08e41083b59946f0ef1ac29e33b61544961c997a..49626acade570fcd9bef80bf8a5ea7be6eb58f6f 100644 (file)
@@ -78,13 +78,24 @@ pid_t pidfile_pid(const char *name)
 }
 
 /* create a pid file in the pid directory. open it and leave it locked */
-void pidfile_create(const char *name)
+void pidfile_create(const char *program_name)
 {
        int     fd;
        char    buf[20];
+       char    *short_configfile;
+       pstring name;
        pstring pidFile;
        pid_t pid;
 
+       /* Add a suffix to the program name if this is a process with a
+        * none default configuration file name. */
+       if (strcmp( CONFIGFILE, dyn_CONFIGFILE) == 0) {
+               strncpy( name, program_name, sizeof( name)-1);
+       } else {
+               short_configfile = strrchr( dyn_CONFIGFILE, '/');
+               slprintf( name, sizeof( name)-1, "%s-%s", program_name, short_configfile+1);
+       }
+
        slprintf(pidFile, sizeof(pidFile)-1, "%s/%s.pid", lp_piddir(), name);
 
        pid = pidfile_pid(name);