(log_cleanup): New function. (openlog): Use log_cleanup instead of __libc_mutex_unlock. (closelog): Likewise.

This commit is contained in:
Ulrich Drepper 2002-12-06 11:31:06 +00:00
parent fde89ad009
commit d5ddad4ff4

View File

@ -329,14 +329,19 @@ openlog_internal(const char *ident, int logstat, int logfac)
}
}
static void
log_cleanup (void *arg)
{
__libc_lock_unlock (*(__libc_lock_t *) arg);
}
void
openlog (const char *ident, int logstat, int logfac)
{
#ifdef _LIBC_REENTRANT
/* Protect against multiple users. */
__libc_cleanup_region_start (1,
(void (*) __P ((void *))) __libc_mutex_unlock,
&syslog_lock);
__libc_cleanup_region_start (1, log_cleanup, &syslog_lock);
__libc_lock_lock (syslog_lock);
#endif
@ -370,9 +375,7 @@ closelog ()
{
#ifdef _LIBC_REENTRANT
/* Protect against multiple users. */
__libc_cleanup_region_start (1,
(void (*) __P ((void *))) __libc_mutex_unlock,
&syslog_lock);
__libc_cleanup_region_start (1, log_cleanup, &syslog_lock);
__libc_lock_lock (syslog_lock);
#endif