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. --- sysdeps/posix/system.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'sysdeps/posix') diff --git a/sysdeps/posix/system.c b/sysdeps/posix/system.c index 08852801a6..fddb4f08ac 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 1.4.1