From 0985d149c60754feb41b34221f292de60d1ee80b Mon Sep 17 00:00:00 2001 From: Francis Dupont Date: Sat, 1 Oct 2016 18:44:02 +0200 Subject: Moved the call to isc_app_ctxstart() to not get signal block by all threads --- omapip/isclib.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'omapip') diff --git a/omapip/isclib.c b/omapip/isclib.c index 12608a7b..781db848 100644 --- a/omapip/isclib.c +++ b/omapip/isclib.c @@ -185,21 +185,6 @@ dhcp_context_create(int flags, if (result != ISC_R_SUCCESS) goto cleanup; - result = isc_app_ctxstart(dhcp_gbl_ctx.actx); - if (result != ISC_R_SUCCESS) - return (result); - dhcp_gbl_ctx.actx_started = ISC_TRUE; - - /* Not all OSs support suppressing SIGPIPE through socket - * options, so set the sigal action to be ignore. This allows - * broken connections to fail gracefully with EPIPE on writes */ - handle_signal(SIGPIPE, SIG_IGN); - - /* Reset handlers installed by isc_app_ctxstart() - * to default for control-c and kill */ - handle_signal(SIGINT, SIG_DFL); - handle_signal(SIGTERM, SIG_DFL); - result = isc_taskmgr_createinctx(dhcp_gbl_ctx.mctx, dhcp_gbl_ctx.actx, 1, 0, @@ -222,6 +207,21 @@ dhcp_context_create(int flags, result = isc_task_create(dhcp_gbl_ctx.taskmgr, 0, &dhcp_gbl_ctx.task); if (result != ISC_R_SUCCESS) goto cleanup; + + result = isc_app_ctxstart(dhcp_gbl_ctx.actx); + if (result != ISC_R_SUCCESS) + return (result); + dhcp_gbl_ctx.actx_started = ISC_TRUE; + + /* Not all OSs support suppressing SIGPIPE through socket + * options, so set the sigal action to be ignore. This allows + * broken connections to fail gracefully with EPIPE on writes */ + handle_signal(SIGPIPE, SIG_IGN); + + /* Reset handlers installed by isc_app_ctxstart() + * to default for control-c and kill */ + handle_signal(SIGINT, SIG_DFL); + handle_signal(SIGTERM, SIG_DFL); } #if defined (NSUPDATE) -- cgit v1.2.1