diff options
author | David Schury | 2015-09-09 23:26:37 +0200 |
---|---|---|
committer | David Schury | 2015-09-09 23:26:37 +0200 |
commit | e2b8e83e2cc0e72e2efc5dd48438cae41fd9e91f (patch) | |
tree | ef0928f6246430bf52f60f1ea48acbcc60282cba /pidfile.patch | |
parent | cd21c7f857efe1167f804af62cd5528d394a8696 (diff) | |
download | aur-e2b8e83e2cc0e72e2efc5dd48438cae41fd9e91f.tar.gz |
Updated to inadyn 1.99.15
Example configuration now used from README file.
Diffstat (limited to 'pidfile.patch')
-rw-r--r-- | pidfile.patch | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/pidfile.patch b/pidfile.patch deleted file mode 100644 index 596fa9b67870..000000000000 --- a/pidfile.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/src/os.c b/src/os.c -index 66c3ada..246c10f 100644 ---- a/src/os.c -+++ b/src/os.c -@@ -33,7 +33,6 @@ - #include "debug.h" - #include "ddns.h" - #include "cache.h" --#include "libite/lite.h" - - #define MAXSTRING 1024 - -@@ -421,6 +420,39 @@ static int mkparentdir(char *file) - return rc; - } - -+static void pidexit(void) -+{ -+ if (pidfile_path) { -+ unlink(pidfile_path); -+ free(pidfile_path); -+ pidfile_path = NULL; -+ } -+} -+ -+/* Continue using old pidfile fn for Inadyn 1.x series, -+ * incompatible semantics with OpenBSD version. */ -+static int old_pidfile(char *file) -+{ -+ FILE *fp; -+ -+ /* Ignore any errors, we may not be allowed to create the dir, -+ * but still be able to create/overwrite the pidfile. */ -+ mkparentdir(file); -+ -+ fp = fopen(file, "w"); -+ if (!fp) { -+ logit(LOG_ERR, "Failed creating pidfile %s: %s", file, strerror(errno)); -+ return RC_FILE_IO_ACCESS_ERROR; -+ } -+ -+ fprintf(fp, "%u\n", getpid()); -+ fclose(fp); -+ -+ atexit(pidexit); -+ -+ return 0; -+} -+ - /* Create pid and cache file repository, make sure we can write to it. If - * we are restarted we cannot otherwise make sure we've not already updated - * the IP -- and the user will be locked-out of their DDNS server provider -@@ -440,8 +472,8 @@ int os_check_perms(void *UNUSED(arg)) - return RC_FILE_IO_ACCESS_ERROR; - } - -- /* Not creating a pidfile is OK, the cache file is the critical point. */ -- pidfile(pidfile_path); -+ if (old_pidfile(pidfile_path)) -+ logit(LOG_WARNING, "Failed creating pidfile %s: %m", pidfile_path); - - return 0; - } |