Set CLOEXEC flag on syslog file descriptor
diff --git a/klibc/syslog.c b/klibc/syslog.c
index 7432ded..b031d4f 100644
--- a/klibc/syslog.c
+++ b/klibc/syslog.c
@@ -25,10 +25,16 @@
void openlog(const char *ident, int option, int facility)
{
+ int fd;
+
(void)option; (void)facility; /* Unused */
- if ( __syslog_fd == -1 )
- __syslog_fd = open(LOGDEV, O_WRONLY);
+ if ( __syslog_fd == -1 ) {
+ __syslog_fd = fd = open(LOGDEV, O_WRONLY);
+ if ( fd == -1 )
+ return;
+ fcntl(fd, F_SETFD, (long)FD_CLOEXEC);
+ }
strncpy(id, ident?ident:"", MAXID);
id[MAXID] = '\0'; /* Make sure it's null-terminated */