}
}
+
+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
{
#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