1998-03-10  Ulrich Drepper  <drepper@cygnus.com>

	* 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.
This commit is contained in:
Ulrich Drepper 1998-03-10 20:32:27 +00:00
parent 8193034b1d
commit fe848e9386
3 changed files with 22 additions and 11 deletions

View File

@ -1,3 +1,12 @@
1998-03-10 Ulrich Drepper <drepper@cygnus.com>
* 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 <drepper@cygnus.com>
* libc.map: Add _dl_debug_message.

View File

@ -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);

View File

@ -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