From fe848e93865384db7457d3b01aad298a6f785be7 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 10 Mar 1998 20:32:27 +0000 Subject: Update. 1998-03-10 Ulrich Drepper * libio/iovdprintf.c (_IO_vdprintf): Set _IO_DELETE_DONT_CLOSE flag. * misc/syslog.c (vsyslog): Don't try to send if not connected to syslog daemon. (closelog_internal): Don't do anything if not connected. --- ChangeLog | 9 +++++++++ libio/iovdprintf.c | 9 ++++----- misc/syslog.c | 15 +++++++++------ 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 010408a31f..f803ee20f0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +1998-03-10 Ulrich Drepper + + * libio/iovdprintf.c (_IO_vdprintf): Set _IO_DELETE_DONT_CLOSE + flag. + + * misc/syslog.c (vsyslog): Don't try to send if not connected to + syslog daemon. + (closelog_internal): Don't do anything if not connected. + 1998-03-10 17:54 Ulrich Drepper * libc.map: Add _dl_debug_message. diff --git a/libio/iovdprintf.c b/libio/iovdprintf.c index a24d3b535e..d95af4742f 100644 --- a/libio/iovdprintf.c +++ b/libio/iovdprintf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or @@ -52,11 +52,10 @@ _IO_vdprintf (d, format, arg) _IO_un_link (&tmpfil.file); return EOF; } - tmpfil.file._flags &= ~_IO_DELETE_DONT_CLOSE; - tmpfil.file._IO_file_flags = - _IO_mask_flags (&tmpfil.file, _IO_NO_READS, - _IO_NO_READS+_IO_NO_WRITES+_IO_IS_APPENDING); + (_IO_mask_flags (&tmpfil.file, _IO_NO_READS, + _IO_NO_READS+_IO_NO_WRITES+_IO_IS_APPENDING) + | _IO_DELETE_DONT_CLOSE); done = _IO_vfprintf (&tmpfil.file, format, arg); diff --git a/misc/syslog.c b/misc/syslog.c index 090926a2c5..0aaabfa170 100644 --- a/misc/syslog.c +++ b/misc/syslog.c @@ -201,7 +201,7 @@ vsyslog(pri, fmt, ap) if (LogType == SOCK_STREAM) ++bufsize; - if (__send(LogFile, buf, bufsize, 0) < 0) + if (!connected || __send(LogFile, buf, bufsize, 0) < 0) { closelog_internal (); /* attempt re-open next time */ /* @@ -245,7 +245,7 @@ openlog_internal(const char *ident, int logstat, int logfac) (void)strncpy(SyslogAddr.sa_data, _PATH_LOG, sizeof(SyslogAddr.sa_data)); if (LogStat & LOG_NDELAY) { - if ((LogFile = socket(AF_UNIX, LogType, 0)) + if ((LogFile = __socket(AF_UNIX, LogType, 0)) == -1) return; (void)fcntl(LogFile, F_SETFD, 1); @@ -292,15 +292,18 @@ openlog (const char *ident, int logstat, int logfac) static void sigpipe_handler (int signo) { - closelog_internal(); + closelog_internal (); } static void closelog_internal() { - (void)close(LogFile); - LogFile = -1; - connected = 0; + if (!connected) + return; + + close (LogFile); + LogFile = -1; + connected = 0; } void -- cgit 1.4.1