From 43cd993307eae39754e15dc7f625e630ce2c0b88 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 4 Jan 2003 20:42:48 +0000 Subject: Update. 2003-01-04 Ulrich Drepper * sysdeps/posix/system.c (do_system): Correct reference counter in case SIGQUIT handler installation failed. --- ChangeLog | 5 +++++ sysdeps/posix/system.c | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7838c04..916a26f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-01-04 Ulrich Drepper + + * sysdeps/posix/system.c (do_system): Correct reference counter in + case SIGQUIT handler installation failed. + 2003-01-03 Ulrich Drepper * include/libc-symbols.h [HAVE_WEAK_SYMBOLS] (_weak_extern): diff --git a/sysdeps/posix/system.c b/sysdeps/posix/system.c index 0885280..fddb4f0 100644 --- a/sysdeps/posix/system.c +++ b/sysdeps/posix/system.c @@ -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 (); -- cgit v1.1