bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: proposed change to closeout module


From: Jim Meyering
Subject: Re: proposed change to closeout module
Date: Fri, 06 Oct 2006 15:59:22 +0200

Eric Blake <address@hidden> wrote:
> According to Paul Eggert on 9/29/2006 11:38 AM:
>>
>> I like the basic idea.  As I understand it this affects only programs
>> that issue "warnings" (i.e., they output to stderr but then continue
>> without affecting the exit status) but it's useful for that case.
>>
>> However, wouldn't this implementation be simpler?
>>
>>    if (close_stream (stderr) != 0)
>>      _exit (exit_failure);
>>
>> At any rate let's wait until coreutils 6.3 gets out.
>
> coreutils 6.3 is out.  OK to apply this simpler version?  I've updated the
> M4 testsuite to expose failures if this patch is not applied.

I've just checked in this change:

[ChangeLog]
2006-09-29  Bruno Haible  <address@hidden>

        * modules/closeout (Description): Mention stderr too.

[lib/ChangeLog]
2006-09-29  Bruno Haible  <address@hidden>
        and Paul Eggert  <address@hidden>

        * closeout.c (close_stdout): Also close stderr.
        * closeout.h: Update comment.

Index: modules/closeout
===================================================================
RCS file: /sources/gnulib/gnulib/modules/closeout,v
retrieving revision 1.15
diff -u -r1.15 closeout
--- modules/closeout    21 Aug 2006 21:46:31 -0000      1.15
+++ modules/closeout    6 Oct 2006 13:56:41 -0000
@@ -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
Index: lib/closeout.c
===================================================================
RCS file: /sources/gnulib/gnulib/lib/closeout.c,v
retrieving revision 1.21
diff -u -r1.21 closeout.c
--- lib/closeout.c      13 Sep 2006 22:38:14 -0000      1.21
+++ lib/closeout.c      6 Oct 2006 13:56:41 -0000
@@ -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);
 }
Index: lib/closeout.h
===================================================================
RCS file: /sources/gnulib/gnulib/lib/closeout.h,v
retrieving revision 1.8
diff -u -r1.8 closeout.h
--- lib/closeout.h      14 May 2005 06:03:57 -0000      1.8
+++ lib/closeout.h      6 Oct 2006 13:56:41 -0000
@@ -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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]