]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
(vsyslog): Only use cleanup handler is _LIBC_REENTRANT is defined.
authorUlrich Drepper <drepper@redhat.com>
Wed, 3 Apr 2002 23:00:41 +0000 (23:00 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 3 Apr 2002 23:00:41 +0000 (23:00 +0000)
misc/syslog.c

index a27eb2ab92d4c02b2968ea66c8c90639497134fd..66104006b52779b189f19813d12d4794367e01af 100644 (file)
@@ -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);
 }