From 620e60eebce2c1f35c5c9a82f6ca365b316587f5 Mon Sep 17 00:00:00 2001 From: Valaris Date: Sun, 29 Jan 2006 16:10:48 +0000 Subject: AS OF SVN REV. 5901, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EVERYTHING ELSE GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5094 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/plugins/pid.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/plugins/pid.c (limited to 'src/plugins/pid.c') diff --git a/src/plugins/pid.c b/src/plugins/pid.c new file mode 100644 index 000000000..1ceb49b6f --- /dev/null +++ b/src/plugins/pid.c @@ -0,0 +1,54 @@ + +#include +#include +#ifndef _WIN32 + #include +#else + #define getpid GetCurrentProcessId +#endif +#ifdef MINGW + #include + #include +#endif +#include "../common/plugin.h" + +PLUGIN_INFO = { + "ProcessId", + PLUGIN_ALL, + "1.0", + PLUGIN_VERSION, + "Logs the process ID" +}; + +PLUGIN_EVENTS_TABLE = { + { "pid_create", "Plugin_Init" }, + { "pid_delete", "Plugin_Final" }, + { NULL, NULL } +}; + +char pid_file[256]; +char *server_name; + +void pid_create () +{ + FILE *fp; + int len; + + IMPORT_SYMBOL(server_name, 1); + len = strlen(server_name); + strcpy(pid_file, server_name); + if(len > 4 && pid_file[len - 4] == '.') { + pid_file[len - 4] = 0; + } + strcat(pid_file, ".pid"); + fp = fopen(pid_file, "w"); + if (fp) { + fprintf(fp, "%d", getpid()); + fclose(fp); + } +} + +void pid_delete () +{ + unlink(pid_file); +} -- cgit v1.2.3-70-g09d2