From dfa3ca995c99e66ab56e98da79e386bcdb23c43a Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Mon, 2 Mar 2009 03:08:22 +0000 Subject: [PATCH] 2568. [bug] Report when the write to indicate a otherwise successful start fails. [RT #19360] --- CHANGES | 2 ++ bin/named/unix/os.c | 8 +++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index dcdd2ea7f2..3013e31650 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +2568. [bug] Report when the write to indicate a otherwise successful start fails. [RT #19360] + 2567. [bug] dst__privstruct_writefile() could miss write errors. write_public_key() could miss write errors. dnssec-dsfromkey could miss write errors. diff --git a/bin/named/unix/os.c b/bin/named/unix/os.c index d59ccb330e..eb8682a485 100644 --- a/bin/named/unix/os.c +++ b/bin/named/unix/os.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: os.c,v 1.94 2009/02/16 23:48:04 tbox Exp $ */ +/* $Id: os.c,v 1.95 2009/03/02 03:08:22 marka Exp $ */ /*! \file */ @@ -462,10 +462,12 @@ ns_os_started(void) { char buf = 0; /* - * Signal to the parent that we stated successfully. + * Signal to the parent that we started successfully. */ if (dfd[0] != -1 && dfd[1] != -1) { - write(dfd[1], &buf, 1); + if (write(dfd[1], &buf, 1) != 1) + ns_main_earlyfatal("unable to signal parent that we " + "otherwise started successfully."); close(dfd[1]); dfd[0] = dfd[1] = -1; }