Update.
authorUlrich Drepper <drepper@redhat.com>
Sat, 4 Jan 2003 20:42:48 +0000 (20:42 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 4 Jan 2003 20:42:48 +0000 (20:42 +0000)
2003-01-04  Ulrich Drepper  <drepper@redhat.com>

* sysdeps/posix/system.c (do_system): Correct reference counter in
case SIGQUIT handler installation failed.

ChangeLog
sysdeps/posix/system.c

index 7838c04..916a26f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-01-04  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/posix/system.c (do_system): Correct reference counter in
+       case SIGQUIT handler installation failed.
+
 2003-01-03  Ulrich Drepper  <drepper@redhat.com>
 
        * include/libc-symbols.h [HAVE_WEAK_SYMBOLS] (_weak_extern):
index 0885280..fddb4f0 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-99,2000,02 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2000, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -49,7 +49,7 @@ __libc_lock_define_initialized (static, lock);
 # define DO_LOCK()
 # define DO_UNLOCK()
 # define INIT_LOCK()
-# define ADD_REF() (void) 0
+# define ADD_REF() 0
 # define SUB_REF() 0
 #endif
 
@@ -84,6 +84,7 @@ do_system (const char *line)
       if (__sigaction (SIGQUIT, &sa, &quit) < 0)
        {
          save = errno;
+         SUB_REF ();
          goto out_restore_sigint;
        }
     }
@@ -103,7 +104,7 @@ do_system (const char *line)
          if (SUB_REF () == 0)
            {
              (void) __sigaction (SIGQUIT, &quit, (struct sigaction *) NULL);
-       out_restore_sigint:
+           out_restore_sigint:
              (void) __sigaction (SIGINT, &intr, (struct sigaction *) NULL);
            }
          DO_UNLOCK ();