changeset 7413:f98558470761

[ChangeLog] * modules/closeout (Description): Mention stderr too. [lib/ChangeLog] * closeout.c (close_stdout): Also close stderr. * closeout.h: Update comment.
author Jim Meyering <jim@meyering.net>
date Fri, 06 Oct 2006 13:59:10 +0000
parents 066c3e27ecd1
children 368fbbd8e59d
files ChangeLog lib/ChangeLog lib/closeout.c lib/closeout.h modules/closeout
diffstat 5 files changed, 19 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2006-09-29  Bruno Haible  <bruno@clisp.org>
+
+	* modules/closeout (Description): Mention stderr too.
+
 2006-10-05  Bruno Haible  <bruno@clisp.org>
 
 	* modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,9 @@
+2006-09-29  Bruno Haible  <bruno@clisp.org>
+	and Paul Eggert  <eggert@cs.ucla.edu>
+
+	* closeout.c (close_stdout): Also close stderr.
+	* closeout.h: Update comment.
+
 2006-10-06  Bruno Haible  <bruno@clisp.org>
 
 	* javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
--- a/lib/closeout.c
+++ b/lib/closeout.c
@@ -1,4 +1,4 @@
-/* Close standard output, exiting with a diagnostic on error.
+/* Close standard output and standard error, exiting with a diagnostic on error.
 
    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006 Free
    Software Foundation, Inc.
@@ -46,6 +46,8 @@
 /* Close standard output.  On error, issue a diagnostic and _exit
    with status 'exit_failure'.
 
+   Also close standard error.  On error, _exit with status 'exit_failure'.
+
    Since close_stdout is commonly registered via 'atexit', POSIX
    and the C standard both say that it should not call 'exit',
    because the behavior is undefined if 'exit' is called more than
@@ -78,4 +80,7 @@
 
       _exit (exit_failure);
     }
+
+   if (close_stream (stderr) != 0)
+     _exit (exit_failure);
 }
--- a/lib/closeout.h
+++ b/lib/closeout.h
@@ -1,6 +1,6 @@
-/* Close standard output.
+/* Close standard output and standard error.
 
-   Copyright (C) 1998, 2000, 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1998, 2000, 2003, 2004, 2006 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
--- a/modules/closeout
+++ b/modules/closeout
@@ -1,5 +1,5 @@
 Description:
-Close standard output, exiting with a diagnostic on error.
+Close standard output and standard error, exiting with a diagnostic on error.
 
 Files:
 lib/closeout.h