Репозитории 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 |
Группа :: Система/Серверы
Пакет: 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);