From 7193a969abceafecf878f3efdcf996203e4a4daa Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Fri, 6 Oct 2006 13:59:10 +0000 Subject: [PATCH] [ChangeLog] * modules/closeout (Description): Mention stderr too. [lib/ChangeLog] * closeout.c (close_stdout): Also close stderr. * closeout.h: Update comment. --- ChangeLog | 4 ++++ lib/ChangeLog | 6 ++++++ lib/closeout.c | 7 ++++++- lib/closeout.h | 4 ++-- modules/closeout | 2 +- 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 23dae8a3a..a8c8f8d00 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2006-09-29 Bruno Haible + + * modules/closeout (Description): Mention stderr too. + 2006-10-05 Bruno Haible * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR. diff --git a/lib/ChangeLog b/lib/ChangeLog index e740b5544..f911467ff 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,9 @@ +2006-09-29 Bruno Haible + and Paul Eggert + + * closeout.c (close_stdout): Also close stderr. + * closeout.h: Update comment. + 2006-10-06 Bruno Haible * javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp diff --git a/lib/closeout.c b/lib/closeout.c index e4093fbd5..830f16f8a 100644 --- 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_stdout_set_file_name (const char *file) /* 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 @@ close_stdout (void) _exit (exit_failure); } + + if (close_stream (stderr) != 0) + _exit (exit_failure); } diff --git a/lib/closeout.h b/lib/closeout.h index 589a14f42..8bed23b5f 100644 --- 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 diff --git a/modules/closeout b/modules/closeout index c3ed2b70a..91d8cc4db 100644 --- 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 -- 2.11.0