]> git.puffer.fish Git - mirror/frr.git/commitdiff
Revert "lib: Ensure FRR detects running of the second instance of a FRR daemon, doesn...
authorDonald Sharp <sharpd@cumulusnetworks.com>
Sat, 22 Sep 2018 18:14:52 +0000 (14:14 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Sat, 22 Sep 2018 18:14:52 +0000 (14:14 -0400)
This reverts commit 6e23e5e9e16fb16aafb4ef05ceb3514a02147a21.

lib/libfrr.c

index 69e6882617d60118a345feb8c4e89526a3d47d0c..2bce4766d3d44af059c2b5068a65b18fdeb611ab 100644 (file)
@@ -262,34 +262,6 @@ bool frr_zclient_addr(struct sockaddr_storage *sa, socklen_t *sa_len,
 
 static struct frr_daemon_info *di = NULL;
 
-static void frr_guard_daemon(void)
-{
-       int fd;
-       struct flock lock;
-       const char *path = di->pid_file;
-
-       fd = open(path, O_RDWR);
-       if (fd != -1) {
-               memset(&lock, 0, sizeof(lock));
-               lock.l_type = F_WRLCK;
-               lock.l_whence = SEEK_SET;
-               if (fcntl(fd, F_GETLK, &lock) < 0) {
-                       flog_err_sys(
-                               EC_LIB_SYSTEM_CALL,
-                               "Could not do F_GETLK pid_file %s (%s), exiting",
-                               path, safe_strerror(errno));
-                       exit(1);
-               } else if (lock.l_type == F_WRLCK) {
-                       flog_err_sys(
-                               EC_LIB_SYSTEM_CALL,
-                               "Process %d has a write lock on file %s already! Error: (%s)",
-                               lock.l_pid, path, safe_strerror(errno));
-                       exit(1);
-               }
-               close(fd);
-       }
-}
-
 void frr_preinit(struct frr_daemon_info *daemon, int argc, char **argv)
 {
        di = daemon;
@@ -619,9 +591,6 @@ struct thread_master *frr_init(void)
 
        zprivs_init(di->privs);
 
-       /* Guard to prevent a second instance of this daemon */
-       frr_guard_daemon();
-
        master = thread_master_create(NULL);
        signal_init(master, di->n_signals, di->signals);