chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
machinectl: fix handling of --verify= argument for dkr downloads
[elogind.git]
/
src
/
journal
/
journald-server.c
diff --git
a/src/journal/journald-server.c
b/src/journal/journald-server.c
index 461355003952d359158f9fcbee399fa4e1e95ee1..87b459b3cace465ae627131b98f787b29aaac1f9 100644
(file)
--- a/
src/journal/journald-server.c
+++ b/
src/journal/journald-server.c
@@
-52,12
+52,7
@@
#include "journald-native.h"
#include "journald-audit.h"
#include "journald-server.h"
#include "journald-native.h"
#include "journald-audit.h"
#include "journald-server.h"
-
-#ifdef HAVE_ACL
-#include <sys/acl.h>
-#include <acl/libacl.h>
#include "acl-util.h"
#include "acl-util.h"
-#endif
#ifdef HAVE_SELINUX
#include <selinux/selinux.h>
#ifdef HAVE_SELINUX
#include <selinux/selinux.h>
@@
-1462,6
+1457,7
@@
static int server_open_hostname(Server *s) {
}
int server_init(Server *s) {
}
int server_init(Server *s) {
+ _cleanup_fdset_free_ FDSet *fds = NULL;
int n, r, fd;
assert(s);
int n, r, fd;
assert(s);
@@
-1558,26
+1554,33
@@
int server_init(Server *s) {
s->audit_fd = fd;
} else {
s->audit_fd = fd;
} else {
- log_warning("Unknown socket passed as file descriptor %d, ignoring.", fd);
- /* Let's close the fd, better be safe than
- sorry. The fd might reference some resource
- that we really want to release if we don't
- make use of it. */
+ if (!fds) {
+ fds = fdset_new();
+ if (!fds)
+ return log_oom();
+ }
- safe_close(fd);
+ r = fdset_put(fds, fd);
+ if (r < 0)
+ return log_oom();
}
}
}
}
- r = server_open_s
yslog_socket(
s);
+ r = server_open_s
tdout_socket(s, fd
s);
if (r < 0)
return r;
if (r < 0)
return r;
- r = server_open_native_socket(s);
+ if (fdset_size(fds) > 0) {
+ log_warning("%u unknown file descriptors passed, closing.", fdset_size(fds));
+ fds = fdset_free(fds);
+ }
+
+ r = server_open_syslog_socket(s);
if (r < 0)
return r;
if (r < 0)
return r;
- r = server_open_
stdout
_socket(s);
+ r = server_open_
native
_socket(s);
if (r < 0)
return r;
if (r < 0)
return r;