Mercurial > hg > dhcpcd
changeset 4184:548f1baa118d draft
Init the signal handler ASAP so random stuff can be cleaned up.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Wed, 15 Nov 2017 14:51:48 +0000 |
| parents | 115cbfa711e2 |
| children | 70572d63d4f2 |
| files | src/dhcpcd.c |
| diffstat | 1 files changed, 14 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/src/dhcpcd.c Tue Nov 14 16:41:59 2017 +0000 +++ b/src/dhcpcd.c Wed Nov 15 14:51:48 2017 +0000 @@ -1653,6 +1653,20 @@ logerr("%s: eloop_init", __func__); goto exit_failure; } +#ifdef USE_SIGNALS + /* Save signal mask, block and redirect signals to our handler */ + if (eloop_signal_set_cb(ctx.eloop, + dhcpcd_signals, dhcpcd_signals_len, + signal_cb, &ctx) == -1) + { + logerr("%s: eloop_signal_set_cb", __func__); + goto exit_failure; + } + if (eloop_signal_mask(ctx.eloop, &ctx.sigset) == -1) { + logerr("%s: eloop_signal_mask", __func__); + goto exit_failure; + } +#endif if (ctx.options & DHCPCD_DUMPLEASE) { /* Open sockets so we can dump something about @@ -1813,21 +1827,6 @@ goto exit_failure; } -#ifdef USE_SIGNALS - if (eloop_signal_set_cb(ctx.eloop, - dhcpcd_signals, dhcpcd_signals_len, - signal_cb, &ctx) == -1) - { - logerr("%s: eloop_signal_set_cb", __func__); - goto exit_failure; - } - /* Save signal mask, block and redirect signals to our handler */ - if (eloop_signal_mask(ctx.eloop, &ctx.sigset) == -1) { - logerr("%s: eloop_signal_mask", __func__); - goto exit_failure; - } -#endif - /* When running dhcpcd against a single interface, we need to retain * the old behaviour of waiting for an IP address */ if (ctx.ifc == 1 && !(ctx.options & DHCPCD_BACKGROUND))
