From 06a27948d05714fcb99cdea3f7df3818d1d11a65 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 3 Apr 2002 23:00:41 +0000 Subject: [PATCH] (vsyslog): Only use cleanup handler is _LIBC_REENTRANT is defined. --- misc/syslog.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/misc/syslog.c b/misc/syslog.c index a27eb2ab92..66104006b5 100644 --- a/misc/syslog.c +++ b/misc/syslog.c @@ -214,11 +214,13 @@ vsyslog(pri, fmt, ap) (void)__writev(STDERR_FILENO, iov, v - iov + 1); } +#ifdef _LIBC_REENTRANT /* Prepare for multiple users. We have to take care: open and write are cancellation points. */ __libc_cleanup_region_start (1, (void (*) (void *)) cancel_handler, &oldaction_ptr); __libc_lock_lock (syslog_lock); +#endif /* Prepare for a broken connection. */ memset (&action, 0, sizeof (action)); @@ -268,9 +270,11 @@ vsyslog(pri, fmt, ap) if (sigpipe == 0) __sigaction (SIGPIPE, &oldaction, (struct sigaction *) NULL); +#ifdef _LIBC_REENTRANT /* End of critical section. */ __libc_cleanup_region_end (0); __libc_lock_unlock (syslog_lock); +#endif free (buf); }