1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-05 19:35:52 +03:00
2003-01-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/system.c (do_system): Correct reference counter in
	case SIGQUIT handler installation failed.
This commit is contained in:
Ulrich Drepper
2003-01-04 20:42:48 +00:00
parent 29bc410c29
commit 43cd993307
2 changed files with 9 additions and 3 deletions

View File

@@ -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> 2003-01-03 Ulrich Drepper <drepper@redhat.com>
* include/libc-symbols.h [HAVE_WEAK_SYMBOLS] (_weak_extern): * include/libc-symbols.h [HAVE_WEAK_SYMBOLS] (_weak_extern):

View 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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_LOCK()
# define DO_UNLOCK() # define DO_UNLOCK()
# define INIT_LOCK() # define INIT_LOCK()
# define ADD_REF() (void) 0 # define ADD_REF() 0
# define SUB_REF() 0 # define SUB_REF() 0
#endif #endif
@@ -84,6 +84,7 @@ do_system (const char *line)
if (__sigaction (SIGQUIT, &sa, &quit) < 0) if (__sigaction (SIGQUIT, &sa, &quit) < 0)
{ {
save = errno; save = errno;
SUB_REF ();
goto out_restore_sigint; goto out_restore_sigint;
} }
} }
@@ -103,7 +104,7 @@ do_system (const char *line)
if (SUB_REF () == 0) if (SUB_REF () == 0)
{ {
(void) __sigaction (SIGQUIT, &quit, (struct sigaction *) NULL); (void) __sigaction (SIGQUIT, &quit, (struct sigaction *) NULL);
out_restore_sigint: out_restore_sigint:
(void) __sigaction (SIGINT, &intr, (struct sigaction *) NULL); (void) __sigaction (SIGINT, &intr, (struct sigaction *) NULL);
} }
DO_UNLOCK (); DO_UNLOCK ();