aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--networking/udhcp/signalpipe.c2
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