summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/dhcp/dhcp/0011-Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch
diff options
context:
space:
mode:
authorHongxu Jia <hongxu.jia@windriver.com>2017-08-16 04:31:17 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-18 10:40:26 +0100
commita02826add027f71d1fca56547b2b72db28b1005f (patch)
treef42f5c26ea1ee6f5c67a79e08184df197bb4db71 /meta/recipes-connectivity/dhcp/dhcp/0011-Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch
parent5552c856a7dc05cb9ef5da8c0cdac63bbef4e8de (diff)
downloadpoky-a02826add027f71d1fca56547b2b72db28b1005f.tar.gz
dhcp: 4.3.5 -> 4.3.6
1. Rebase patches to 4.3.6 - define-macro-_PATH_DHCPD_CONF-and-_PATH_DHCLIENT_CON.patch -> 0001 - dhcp-3.0.3-dhclient-dbus.patch -> 0002 - link-with-lcrypto.patch -> 0003 - fixsepbuild.patch -> 0004 - dhclient-script-drop-resolv.conf.dhclient.patch -> 0005 - 0001-site.h-enable-gentle-shutdown.patch -> 0006 - libxml2-configure-argument.patch -> 0007 - tweak-to-support-external-bind.patch -> 0008 - remove-dhclient-script-bash-dependency.patch -> 0009 - build-shared-libs.patch -> 0010 - Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch -> 0011 2. Drop search-for-libxml2.patch It is overrided by libxml2-configure-argument.patch 3. Rework dhclient-script-drop-resolv.conf.dhclient.patch and Drop replace-ifconfig-route.patch. vim client/scripts/linux ... Script refresh in 2017. The aliasing code was too convoluted and needs to go away. Migrated DHCPv4 script to ip command from iproute2 suite. This is based on Debian script with some tweaks. ifconfig is no longer used. Everything is done using ip tool from ip-route2. ... (From OE-Core rev: 77878d2e6e8f36afa9a0fde8a6f0f955c84a5e5c) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/dhcp/dhcp/0011-Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch')
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/0011-Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch81
1 files changed, 81 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/dhcp/dhcp/0011-Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch b/meta/recipes-connectivity/dhcp/dhcp/0011-Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch
new file mode 100644
index 0000000000..67bb4631ae
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp/0011-Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch
@@ -0,0 +1,81 @@
1From 37725f3e22edb50e0ca2d1fff971321a5a4d5112 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Wed, 12 Jul 2017 03:05:13 -0400
4Subject: [PATCH 11/11] Moved the call to isc_app_ctxstart() to not get signal
5 block by all threads
6
7Signed-off-by: Francis Dupont <fdupont@isc.org>
8
9In https://source.isc.org/git/bind9.git, since the following
10commit applied:
11...
12commit b99bfa184bc9375421b5df915eea7dfac6a68a99
13Author: Evan Hunt <each@isc.org>
14Date: Wed Apr 10 13:49:57 2013 -0700
15
16 [master] unify internal and export libraries
17
18 3550. [func] Unified the internal and export versions of the
19 BIND libraries, allowing external clients to use
20 the same libraries as BIND. [RT #33131]
21...
22(git show b99bfa184bc9375421b5df915eea7dfac6a68a99 -- ./lib/isc/unix/app.c)
23
24In this commit, if bind9 enable threads(ISC_PLATFORM_USETHREADS),
25it blocks signal SIGHUP, SIGINT and SIGTERM in isc__app_ctxstart.
26Which caused dhclient/dhcpd could not be stopped by SIGTERM.
27
28It caused systemd's reboot hung which send SIGTERM by default.
29
30Upstream-Status: Backport [https://source.isc.org/git/dhcp.git]
31Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
32---
33 omapip/isclib.c | 25 +++++++++++++++----------
34 1 file changed, 15 insertions(+), 10 deletions(-)
35
36diff --git a/omapip/isclib.c b/omapip/isclib.c
37index ce86490..6a04345 100644
38--- a/omapip/isclib.c
39+++ b/omapip/isclib.c
40@@ -185,16 +185,6 @@ dhcp_context_create(int flags,
41 if (result != ISC_R_SUCCESS)
42 goto cleanup;
43
44- result = isc_app_ctxstart(dhcp_gbl_ctx.actx);
45- if (result != ISC_R_SUCCESS)
46- return (result);
47- dhcp_gbl_ctx.actx_started = ISC_TRUE;
48-
49- /* Not all OSs support suppressing SIGPIPE through socket
50- * options, so set the sigal action to be ignore. This allows
51- * broken connections to fail gracefully with EPIPE on writes */
52- handle_signal(SIGPIPE, SIG_IGN);
53-
54 result = isc_taskmgr_createinctx(dhcp_gbl_ctx.mctx,
55 dhcp_gbl_ctx.actx,
56 1, 0,
57@@ -217,6 +207,21 @@ dhcp_context_create(int flags,
58 result = isc_task_create(dhcp_gbl_ctx.taskmgr, 0, &dhcp_gbl_ctx.task);
59 if (result != ISC_R_SUCCESS)
60 goto cleanup;
61+
62+ result = isc_app_ctxstart(dhcp_gbl_ctx.actx);
63+ if (result != ISC_R_SUCCESS)
64+ return (result);
65+ dhcp_gbl_ctx.actx_started = ISC_TRUE;
66+
67+ /* Not all OSs support suppressing SIGPIPE through socket
68+ * options, so set the sigal action to be ignore. This allows
69+ * broken connections to fail gracefully with EPIPE on writes */
70+ handle_signal(SIGPIPE, SIG_IGN);
71+
72+ /* Reset handlers installed by isc_app_ctxstart()
73+ * to default for control-c and kill */
74+ handle_signal(SIGINT, SIG_DFL);
75+ handle_signal(SIGTERM, SIG_DFL);
76 }
77
78 #if defined (NSUPDATE)
79--
801.8.3.1
81