Document LockFile parameter in example config files
authorHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Wed, 20 Jan 2010 08:30:51 +0000 (09:30 +0100)
committerHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Wed, 20 Jan 2010 08:30:51 +0000 (09:30 +0100)
Include ipversion in default lockfile (/var/run/olsrd-ipv(4|6).lock for linux/bsd)

files/olsrd.conf.default.lq
files/olsrd.conf.default.lq-fisheye
files/olsrd.conf.default.rfc
src/main.c

index 9055544..7071031 100644 (file)
@@ -225,6 +225,12 @@ LinkQualityFishEye 0
 
 # MprCoverage  7
 
+# LockFile
+# The lockfile is used to prevent multiple OLSR instances running at the same
+# time. On linux/bsd it defaults to "/var/run/olsrd-ipv(4/6).lock", on other
+# systems to "<configfile>-ipv(4/6).lock".
+#
+# LockFile "olsrd.lock"
 
 # Olsrd plugins to load
 # This must be the absolute path to the file
index 6a4fa9f..50bd150 100644 (file)
@@ -225,6 +225,12 @@ IpcConnect
 
 # MprCoverage 7
 
+# LockFile
+# The lockfile is used to prevent multiple OLSR instances running at the same
+# time. On linux/bsd it defaults to "/var/run/olsrd-ipv(4/6).lock", on other
+# systems to "<configfile>-ipv(4/6).lock".
+#
+# LockFile "olsrd.lock"
 
 # Olsrd plugins to load
 # This must be the absolute path to the file
index 7e291fe..2fb4463 100644 (file)
@@ -224,6 +224,12 @@ NicChgsPollInt  3.0
 
 MprCoverage    1
 
+# LockFile
+# The lockfile is used to prevent multiple OLSR instances running at the same
+# time. On linux/bsd it defaults to "/var/run/olsrd-ipv(4/6).lock", on other
+# systems to "<configfile>-ipv(4/6).lock".
+#
+# LockFile "olsrd.lock"
 
 # Olsrd plugins to load
 # This must be the absolute path to the file
index a6873b5..7884f7a 100644 (file)
@@ -78,6 +78,10 @@ bool olsr_win32_end_flag = false;
 static void olsr_shutdown(int) __attribute__ ((noreturn));
 #endif
 
+#if defined linux || __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__
+#define DEFAULT_LOCKFILE_PREFIX "/var/run/olsrd"
+#endif
+
 #define DEF_NIIT_IFNAME         "niit4to6"
 
 /*
@@ -346,8 +350,15 @@ int main(int argc, char *argv[]) {
   if (olsr_cnf->lock_file) {
     strscpy(lock_file_name, olsr_cnf->lock_file, sizeof(lock_file_name));
   } else {
+    size_t len;
+#ifdef DEFAULT_LOCKFILE_PREFIX
+    strscpy(lock_file_name, DEFAULT_LOCKFILE_PREFIX, sizeof(lock_file_name));
+#else
     strscpy(lock_file_name, conf_file_name, sizeof(lock_file_name));
-    strscat(lock_file_name, ".lock", sizeof(lock_file_name));
+#endif
+    len = strlen(lock_file_name);
+    snprintf(&lock_file_name[len], sizeof(lock_file_name) - len, "-ipv%d.lock",
+        olsr_cnf->ip_version == AF_INET ? 4 : 6);
   }
 
   /*