add pidfile function
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8889 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -49,7 +49,7 @@ pid_file_write (const char *progname)
|
|||||||
FILE *fp;
|
FILE *fp;
|
||||||
char *ret;
|
char *ret;
|
||||||
|
|
||||||
asprintf (&ret, _PATH_VARRUN "%s.pid", progname);
|
asprintf (&ret, "%s%s.pid", _PATH_VARRUN, progname);
|
||||||
if (ret == NULL)
|
if (ret == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
fp = fopen (ret, "w");
|
fp = fopen (ret, "w");
|
||||||
@@ -71,3 +71,23 @@ pid_file_delete (char **filename)
|
|||||||
*filename = NULL;
|
*filename = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *pidfile_path;
|
||||||
|
|
||||||
|
static void
|
||||||
|
pidfile_cleanup(void)
|
||||||
|
{
|
||||||
|
if(pidfile_path != NULL)
|
||||||
|
pid_file_delete(&pidfile_path);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
pidfile(const char *basename)
|
||||||
|
{
|
||||||
|
if(pidfile_path != NULL)
|
||||||
|
return;
|
||||||
|
if(basename == NULL)
|
||||||
|
basename = __progname;
|
||||||
|
pidfile_path = pid_file_write(basename);
|
||||||
|
atexit(pidfile_cleanup);
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user