mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
* misc/syslog.c (openlog_internal): Use SOCK_CLOEXEC if possible.
This commit is contained in:
parent
72112b0cb4
commit
c0216dfc62
@ -1,5 +1,7 @@
|
|||||||
2008-07-26 Ulrich Drepper <drepper@redhat.com>
|
2008-07-26 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* misc/syslog.c (openlog_internal): Use SOCK_CLOEXEC if possible.
|
||||||
|
|
||||||
* malloc/mtrace.c (mtrace): Use 'e' flag in fopen call. Drop
|
* malloc/mtrace.c (mtrace): Use 'e' flag in fopen call. Drop
|
||||||
F_SETFD use if we know fopen set the flag.
|
F_SETFD use if we know fopen set the flag.
|
||||||
|
|
||||||
|
@ -348,10 +348,35 @@ openlog_internal(const char *ident, int logstat, int logfac)
|
|||||||
(void)strncpy(SyslogAddr.sun_path, _PATH_LOG,
|
(void)strncpy(SyslogAddr.sun_path, _PATH_LOG,
|
||||||
sizeof(SyslogAddr.sun_path));
|
sizeof(SyslogAddr.sun_path));
|
||||||
if (LogStat & LOG_NDELAY) {
|
if (LogStat & LOG_NDELAY) {
|
||||||
if ((LogFile = __socket(AF_UNIX, LogType, 0))
|
#ifdef SOCK_CLOEXEC
|
||||||
== -1)
|
# ifndef __ASSUME_SOCK_CLOEXEC
|
||||||
|
if (__have_sock_cloexec >= 0) {
|
||||||
|
# endif
|
||||||
|
LogFile = __socket(AF_UNIX,
|
||||||
|
LogType
|
||||||
|
| SOCK_CLOEXEC, 0);
|
||||||
|
# ifndef __ASSUME_SOCK_CLOEXEC
|
||||||
|
if (__have_sock_cloexec == 0)
|
||||||
|
__have_sock_cloexec
|
||||||
|
= (LogFile != -1
|
||||||
|
|| errno != EINVAL);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifndef __ASSUME_SOCK_CLOEXEC
|
||||||
|
# ifdef SOCK_CLOEXEC
|
||||||
|
if (__have_sock_cloexec < 0)
|
||||||
|
# endif
|
||||||
|
LogFile = __socket(AF_UNIX, LogType, 0);
|
||||||
|
#endif
|
||||||
|
if (LogFile == -1)
|
||||||
return;
|
return;
|
||||||
(void)__fcntl(LogFile, F_SETFD, 1);
|
#ifndef __ASSUME_SOCK_CLOEXEC
|
||||||
|
# ifdef SOCK_CLOEXEC
|
||||||
|
if (__have_sock_cloexec < 0)
|
||||||
|
# endif
|
||||||
|
__fcntl(LogFile, F_SETFD, FD_CLOEXEC);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (LogFile != -1 && !connected)
|
if (LogFile != -1 && !connected)
|
||||||
|
Loading…
Reference in New Issue
Block a user