Libraries updates and cleanup
* Updating common/lib * Updating lib/csu * Updating lib/libc * Updating libexec/ld.elf_so * Corrected test on __minix in featuretest to actually follow the meaning of the comment. * Cleaned up _REENTRANT-related defintions. * Disabled -D_REENTRANT for libfetch * Removing some unneeded __NBSD_LIBC defines and tests Change-Id: Ic1394baef74d11b9f86b312f5ff4bbc3cbf72ce2
This commit is contained in:
+39
-38
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: syslog.c,v 1.48 2010/05/13 22:40:14 christos Exp $ */
|
||||
/* $NetBSD: syslog.c,v 1.53 2012/10/11 17:09:55 christos Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1983, 1988, 1993
|
||||
@@ -34,7 +34,7 @@
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)syslog.c 8.5 (Berkeley) 4/29/95";
|
||||
#else
|
||||
__RCSID("$NetBSD: syslog.c,v 1.48 2010/05/13 22:40:14 christos Exp $");
|
||||
__RCSID("$NetBSD: syslog.c,v 1.53 2012/10/11 17:09:55 christos Exp $");
|
||||
#endif
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
@@ -67,18 +67,6 @@ __weak_alias(syslog,_syslog)
|
||||
__weak_alias(vsyslog,_vsyslog)
|
||||
__weak_alias(syslogp,_syslogp)
|
||||
__weak_alias(vsyslogp,_vsyslogp)
|
||||
|
||||
__weak_alias(closelog_r,_closelog_r)
|
||||
__weak_alias(openlog_r,_openlog_r)
|
||||
__weak_alias(setlogmask_r,_setlogmask_r)
|
||||
__weak_alias(syslog_r,_syslog_r)
|
||||
__weak_alias(vsyslog_r,_vsyslog_r)
|
||||
__weak_alias(syslog_ss,_syslog_ss)
|
||||
__weak_alias(vsyslog_ss,_vsyslog_ss)
|
||||
__weak_alias(syslogp_r,_syslogp_r)
|
||||
__weak_alias(vsyslogp_r,_vsyslogp_r)
|
||||
__weak_alias(syslogp_ss,_syslogp_ss)
|
||||
__weak_alias(vsyslogp_ss,_vsyslogp_ss)
|
||||
#endif
|
||||
|
||||
static struct syslog_data sdata = SYSLOG_DATA_INIT;
|
||||
@@ -95,8 +83,6 @@ static void connectlog_r(struct syslog_data *);
|
||||
static mutex_t syslog_mutex = MUTEX_INITIALIZER;
|
||||
#endif
|
||||
|
||||
static char hostname[MAXHOSTNAMELEN];
|
||||
|
||||
/*
|
||||
* syslog, vsyslog --
|
||||
* print message on log file; output is intended for syslogd(8).
|
||||
@@ -298,21 +284,43 @@ vsyslogp_r(int pri, struct syslog_data *data, const char *msgid,
|
||||
}
|
||||
} else {
|
||||
prlen = snprintf_ss(p, tbuf_left, "-");
|
||||
|
||||
/* if gmtime_r() was signal-safe we could output the UTC-time:
|
||||
#if 0
|
||||
/*
|
||||
* if gmtime_r() was signal-safe we could output
|
||||
* the UTC-time:
|
||||
*/
|
||||
gmtime_r(&now, &tmnow);
|
||||
prlen = strftime(p, tbuf_left, "%FT%TZ", &tmnow);
|
||||
*/
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef __minix
|
||||
if (data == &sdata)
|
||||
mutex_lock(&syslog_mutex);
|
||||
#endif
|
||||
|
||||
if (data->log_hostname[0] == '\0' && gethostname(data->log_hostname,
|
||||
sizeof(data->log_hostname)) == -1) {
|
||||
/* can this really happen? */
|
||||
data->log_hostname[0] = '-';
|
||||
data->log_hostname[1] = '\0';
|
||||
}
|
||||
|
||||
DEC();
|
||||
prlen = snprintf_ss(p, tbuf_left, " %s ", hostname);
|
||||
DEC();
|
||||
prlen = snprintf_ss(p, tbuf_left, " %s ", data->log_hostname);
|
||||
|
||||
if (data->log_tag == NULL)
|
||||
data->log_tag = getprogname();
|
||||
|
||||
DEC();
|
||||
prlen = snprintf_ss(p, tbuf_left, "%s ",
|
||||
data->log_tag ? data->log_tag : "-");
|
||||
|
||||
#ifndef __minix
|
||||
if (data == &sdata)
|
||||
mutex_unlock(&syslog_mutex);
|
||||
#endif
|
||||
|
||||
if (data->log_stat & (LOG_PERROR|LOG_CONS)) {
|
||||
iovcnt = 0;
|
||||
iov[iovcnt].iov_base = p;
|
||||
@@ -426,7 +434,7 @@ vsyslogp_r(int pri, struct syslog_data *data, const char *msgid,
|
||||
if (data == &sdata)
|
||||
mutex_lock(&syslog_mutex);
|
||||
#endif
|
||||
opened = !data->opened;
|
||||
opened = !data->log_opened;
|
||||
if (opened)
|
||||
openlog_unlocked_r(data->log_tag, data->log_stat, 0, data);
|
||||
connectlog_r(data);
|
||||
@@ -487,7 +495,7 @@ disconnectlog_r(struct syslog_data *data)
|
||||
(void)close(data->log_file);
|
||||
data->log_file = -1;
|
||||
}
|
||||
data->connected = 0; /* retry connect */
|
||||
data->log_connected = 0; /* retry connect */
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -503,19 +511,19 @@ connectlog_r(struct syslog_data *data)
|
||||
};
|
||||
|
||||
if (data->log_file == -1 || fcntl(data->log_file, F_GETFL, 0) == -1) {
|
||||
if ((data->log_file = socket(AF_UNIX, SOCK_DGRAM, 0)) == -1)
|
||||
if ((data->log_file = socket(AF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC,
|
||||
0)) == -1)
|
||||
return;
|
||||
(void)fcntl(data->log_file, F_SETFD, FD_CLOEXEC);
|
||||
data->connected = 0;
|
||||
data->log_connected = 0;
|
||||
}
|
||||
if (!data->connected) {
|
||||
if (!data->log_connected) {
|
||||
if (connect(data->log_file,
|
||||
(const struct sockaddr *)(const void *)&sun,
|
||||
sizeof(sun)) == -1) {
|
||||
(socklen_t)sizeof(sun)) == -1) {
|
||||
(void)close(data->log_file);
|
||||
data->log_file = -1;
|
||||
} else
|
||||
data->connected = 1;
|
||||
data->log_connected = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -532,14 +540,7 @@ openlog_unlocked_r(const char *ident, int logstat, int logfac,
|
||||
if (data->log_stat & LOG_NDELAY) /* open immediately */
|
||||
connectlog_r(data);
|
||||
|
||||
/* We could cache this, but then it might change */
|
||||
if (gethostname(hostname, sizeof(hostname)) == -1
|
||||
|| hostname[0] == '\0') {
|
||||
/* can this really happen? */
|
||||
hostname[0] = '-';
|
||||
hostname[1] = '\0';
|
||||
}
|
||||
data->opened = 1;
|
||||
data->log_opened = 1;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -565,7 +566,7 @@ closelog_r(struct syslog_data *data)
|
||||
#endif
|
||||
(void)close(data->log_file);
|
||||
data->log_file = -1;
|
||||
data->connected = 0;
|
||||
data->log_connected = 0;
|
||||
data->log_tag = NULL;
|
||||
#ifndef __minix
|
||||
if (data == &sdata)
|
||||
|
||||
Reference in New Issue
Block a user