|
@@ -85,6 +85,10 @@
|
|
|
__UCLIBC_MUTEX_STATIC(mylock, PTHREAD_MUTEX_INITIALIZER);
|
|
|
|
|
|
|
|
|
+
|
|
|
+ * (default: if there was no openlog or if openlog passed NULL),
|
|
|
+ * not string "syslog"
|
|
|
+ */
|
|
|
static const char *LogTag = "syslog";
|
|
|
static int LogFile = -1;
|
|
|
static smalluint connected;
|
|
@@ -188,16 +192,11 @@ vsyslog(int pri, const char *fmt, va_list ap)
|
|
|
int fd, saved_errno;
|
|
|
int rc;
|
|
|
char tbuf[1024];
|
|
|
- struct sigaction action;
|
|
|
|
|
|
|
|
|
if ((pri & ~(LOG_PRIMASK|LOG_FACMASK)) != 0)
|
|
|
return;
|
|
|
|
|
|
- memset(&action, 0, sizeof(action));
|
|
|
- action.sa_handler = closelog_intern;
|
|
|
- sigaction(SIGPIPE, &action, &action);
|
|
|
-
|
|
|
saved_errno = errno;
|
|
|
|
|
|
__UCLIBC_MUTEX_LOCK(mylock);
|
|
@@ -268,7 +267,8 @@ vsyslog(int pri, const char *fmt, va_list ap)
|
|
|
*last_chr = '\0';
|
|
|
if (LogFile >= 0) {
|
|
|
do {
|
|
|
- rc = write(LogFile, p, last_chr + 1 - p);
|
|
|
+
|
|
|
+ rc = send(LogFile, p, last_chr + 1 - p, MSG_NOSIGNAL);
|
|
|
if (rc < 0) {
|
|
|
|
|
|
* Imagine that syslogd is SIGSTOPed... */
|
|
@@ -302,7 +302,6 @@ vsyslog(int pri, const char *fmt, va_list ap)
|
|
|
|
|
|
getout:
|
|
|
__UCLIBC_MUTEX_UNLOCK(mylock);
|
|
|
- sigaction(SIGPIPE, &action, NULL);
|
|
|
}
|
|
|
libc_hidden_def(vsyslog)
|
|
|
|