diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-02-16 20:04:19 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-02-16 20:04:19 +0100 |
commit | dc207f669675a271812a21b0ddbe3b894adf8e4c (patch) | |
tree | 6d68282fa379fd778f7621ecb59450bfc85996e4 /networking/udhcp | |
parent | 5b3b468ec0c6e6dfe772722dbd6b2c57cef817b5 (diff) |
udhcp: do not clobber errno by signal handler
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking/udhcp')
-rw-r--r-- | networking/udhcp/signalpipe.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/networking/udhcp/signalpipe.c b/networking/udhcp/signalpipe.c index 6355c5e90..30bccd6bf 100644 --- a/networking/udhcp/signalpipe.c +++ b/networking/udhcp/signalpipe.c @@ -25,9 +25,11 @@ static struct fd_pair signal_pipe; static void signal_handler(int sig) { + int sv = errno; unsigned char ch = sig; /* use char, avoid dealing with partial writes */ if (write(signal_pipe.wr, &ch, 1) != 1) bb_perror_msg("can't send signal"); + errno = sv; } /* Call this before doing anything else. Sets up the socket pair |