aboutsummaryrefslogtreecommitdiff
path: root/misc/syslog.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-04-04 05:10:14 +0000
committerUlrich Drepper <drepper@redhat.com>2002-04-04 05:10:14 +0000
commit4a10c7fec7babe4b74d070c1d5ff575ca8abe31b (patch)
tree34675dfc790492933ec70351e75438fbdd6279a8 /misc/syslog.c
parent87c9379402f3d91373438919f77f693f59ceafe1 (diff)
downloadglibc-4a10c7fec7babe4b74d070c1d5ff575ca8abe31b.zip
glibc-4a10c7fec7babe4b74d070c1d5ff575ca8abe31b.tar.gz
glibc-4a10c7fec7babe4b74d070c1d5ff575ca8abe31b.tar.bz2
Update.
2002-04-03 Ulrich Drepper <drepper@redhat.com> * locale/programs/charmap.c (charmap_read): If the charmap doesn't define a code_set_name provide one based on the filename. * malloc/hooks.c: Define weak_variable correctly for _LIBC. 2001-12-28 Andreas Jaeger <aj@suse.de> * time/mktime.c (__mktime_internal): Check for year < 70 [PR libc/2738]. * sysdeps/generic/w_lgamma.c: Initialized local_signgam. * sysdeps/generic/w_lgammaf.c: Likewise. * sysdeps/generic/w_lgammal.c: Likewise [PR libc/2854]. * debug/catchsegv.sh (exval): Quote [ in pattern [PR libc/2902]. Adjust for new output format of the backtrace functions. * misc/syslog.c (vsyslog): Only use cleanup handler if _LIBC_REENTRANT is defined [PR libc/2924]. * sysdeps/s390/s390-64/bits/byteswap.h: Likewise [PR libc/2757].
Diffstat (limited to 'misc/syslog.c')
-rw-r--r--misc/syslog.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/misc/syslog.c b/misc/syslog.c
index de5737d..10a8309 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);
}