Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37837537
en ru br
Репозитории ALT
S:4.4.3.P1-alt1
5.1: 3.0.7-alt4
4.1: 3.0.6-alt2.M41.1
4.0: 3.0.6-alt1
3.0: 3.0.2-alt1
www.altlinux.org/Changes

Группа :: Система/Серверы
Пакет: dhcp

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: 0012-dhclient-Check-if-dhclient-already-running.patch
Скачать


From 0 Mon Sep 17 00:00:00 2001
From: Mikhail Efremov <sem@altlinux.org>
Date: Wed, 24 Oct 2012 19:30:29 +0400
Subject: [PATCH 12] dhclient: Check if dhclient already running.
Based on dhcp-4.2.0-release-by-ifup.patch from Fedora.
diff --git a/dhcp/client/dhclient.c b/dhcp/client/dhclient.c
index defaced..defaced 100644
--- a/dhcp/client/dhclient.c
+++ b/dhcp/client/dhclient.c
@@ -791,8 +791,25 @@ main(int argc, char **argv) {
 			}
 			fclose(pidfd);
 		}
-	}
+	} else {
+		FILE *pidfp = NULL;
+		long pid = 0;
+		int dhc_running = 0;
 
+		if ((pidfp = fopen(path_dhclient_pid, "r")) != NULL) {
+			if ((fscanf(pidfp, "%ld", &pid) == 1) &&
+					(pid > 0) &&
+					(kill((pid_t) pid, 0) == 0))
+				dhc_running = 1;
+
+			fclose(pidfp);
+		}
+
+		if (dhc_running) {
+			log_fatal("dhclient(%ld) is already running - exiting.", pid);
+			exit(1);
+		}
+	}
 	if (!quiet) {
 		log_info("%s %s", message, PACKAGE_VERSION);
 		log_info("%s", copyright);
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin