forked from Telodendria/Telodendria
[ADD] Add PID option
This commit is contained in:
parent
18ae52d001
commit
d53b493754
2 changed files with 25 additions and 0 deletions
|
@ -75,6 +75,7 @@
|
||||||
"serverName": { "type": "string", "required": true },
|
"serverName": { "type": "string", "required": true },
|
||||||
"baseUrl": { "type": "string", "required": false },
|
"baseUrl": { "type": "string", "required": false },
|
||||||
"identityServer": { "type": "string", "required": false },
|
"identityServer": { "type": "string", "required": false },
|
||||||
|
"pid": { "type": "string", "required": false },
|
||||||
|
|
||||||
"maxCache": { "type": "integer", "required": false },
|
"maxCache": { "type": "integer", "required": false },
|
||||||
|
|
||||||
|
|
24
src/Main.c
24
src/Main.c
|
@ -104,6 +104,9 @@ Main(Array * args)
|
||||||
/* Program configuration */
|
/* Program configuration */
|
||||||
Config *tConfig;
|
Config *tConfig;
|
||||||
Stream *logFile;
|
Stream *logFile;
|
||||||
|
Stream *pidFile = NULL;
|
||||||
|
|
||||||
|
char *pidPath = NULL;
|
||||||
|
|
||||||
/* User validation */
|
/* User validation */
|
||||||
struct passwd *userInfo;
|
struct passwd *userInfo;
|
||||||
|
@ -335,6 +338,21 @@ start:
|
||||||
Free(token);
|
Free(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (tConfig->pid)
|
||||||
|
{
|
||||||
|
pidFile = StreamOpen(tConfig->pid, "w+");
|
||||||
|
if (!pidFile)
|
||||||
|
{
|
||||||
|
char *msg = "Couldn't lock PID file at '%s'";
|
||||||
|
Log(LOG_ERR, msg, tConfig->pid);
|
||||||
|
exit = EXIT_FAILURE;
|
||||||
|
goto finish;
|
||||||
|
}
|
||||||
|
pidPath = StrDuplicate(tConfig->pid);
|
||||||
|
StreamPrintf(pidFile, "%ld", (long) getpid());
|
||||||
|
StreamClose(pidFile);
|
||||||
|
}
|
||||||
|
|
||||||
Log(LOG_DEBUG, "Configuration:");
|
Log(LOG_DEBUG, "Configuration:");
|
||||||
LogConfigIndent(LogConfigGlobal());
|
LogConfigIndent(LogConfigGlobal());
|
||||||
Log(LOG_DEBUG, "Server Name: %s", tConfig->serverName);
|
Log(LOG_DEBUG, "Server Name: %s", tConfig->serverName);
|
||||||
|
@ -604,6 +622,12 @@ finish:
|
||||||
HttpRouterFree(matrixArgs.router);
|
HttpRouterFree(matrixArgs.router);
|
||||||
Log(LOG_DEBUG, "Freed routing tree.");
|
Log(LOG_DEBUG, "Freed routing tree.");
|
||||||
|
|
||||||
|
if (pidPath)
|
||||||
|
{
|
||||||
|
remove(pidPath);
|
||||||
|
Free(pidPath);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Uninstall the memory hook because it uses the Log
|
* Uninstall the memory hook because it uses the Log
|
||||||
* API, whose configuration is being freed now, so it
|
* API, whose configuration is being freed now, so it
|
||||||
|
|
Loading…
Reference in a new issue