mirror of
https://github.com/troglobit/finit.git
synced 2026-11-09 16:21:24 +00:00
pid.c: Relocate pid_runpath() to a static inline fn
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
1 parent
7f62a69f74
commit
a61551d15f
2 files changed
+28
-22
No files matched your search
@@ -29,6 +29,7 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <lite/lite.h>
|
#include <lite/lite.h>
|
||||||
|
|
||||||
|
#include "pid.h"
|
||||||
#include "svc.h"
|
#include "svc.h"
|
||||||
#include "helpers.h"
|
#include "helpers.h"
|
||||||
|
|
||||||
@@ -92,27 +93,6 @@ char *pid_get_name(pid_t pid, char *name, size_t len)
|
|||||||
return pname;
|
return pname;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *pid_runpath(char *file, char *path, size_t len)
|
|
||||||
{
|
|
||||||
static int unknown = 1;
|
|
||||||
static char *prefix = "/var/run";
|
|
||||||
|
|
||||||
if (unknown) {
|
|
||||||
if (fisdir("/run"))
|
|
||||||
prefix = "/run";
|
|
||||||
unknown = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!strncmp(file, "/var/run/", 9))
|
|
||||||
file += 9;
|
|
||||||
else if (!strncmp(file, "/run/", 5))
|
|
||||||
file += 5;
|
|
||||||
|
|
||||||
snprintf(path, len, "%s/%s", prefix, file);
|
|
||||||
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
|
|
||||||
char *pid_file(svc_t *svc)
|
char *pid_file(svc_t *svc)
|
||||||
{
|
{
|
||||||
char fn[MAX_ARG_LEN];
|
char fn[MAX_ARG_LEN];
|
||||||
|
|||||||
@@ -22,6 +22,11 @@
|
|||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef FINIT_PID_H_
|
||||||
|
#define FINIT_PID_H_
|
||||||
|
|
||||||
|
#include "svc.h"
|
||||||
|
|
||||||
int pid_alive (pid_t pid);
|
int pid_alive (pid_t pid);
|
||||||
char *pid_get_name (pid_t pid, char *name, size_t len);
|
char *pid_get_name (pid_t pid, char *name, size_t len);
|
||||||
|
|
||||||
@@ -29,7 +34,28 @@ char *pid_file (svc_t *svc);
|
|||||||
int pid_file_create (svc_t *svc);
|
int pid_file_create (svc_t *svc);
|
||||||
int pid_file_parse (svc_t *svc, char *arg);
|
int pid_file_parse (svc_t *svc, char *arg);
|
||||||
|
|
||||||
char *pid_runpath (char *file, char *path, size_t len);
|
static inline char *pid_runpath(char *file, char *path, size_t len)
|
||||||
|
{
|
||||||
|
static int unknown = 1;
|
||||||
|
static char *prefix = "/var/run";
|
||||||
|
|
||||||
|
if (unknown) {
|
||||||
|
if (fisdir("/run"))
|
||||||
|
prefix = "/run";
|
||||||
|
unknown = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!strncmp(file, "/var/run/", 9))
|
||||||
|
file += 9;
|
||||||
|
else if (!strncmp(file, "/run/", 5))
|
||||||
|
file += 5;
|
||||||
|
|
||||||
|
snprintf(path, len, "%s/%s", prefix, file);
|
||||||
|
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* FINIT_PID_H_ */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Local Variables:
|
* Local Variables:
|
||||||
|
|||||||
Reference in new issue
Block a user