mirror of
https://github.com/systemd/systemd.git
synced 2026-07-18 05:20:07 +00:00
core: close socket fds asynchronously
http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html
This commit is contained in:
Notes:
Lennart Poettering
2014-05-16 01:19:22 +02:00
Backport: bugfix
@@ -27,6 +27,7 @@
|
||||
#include <linux/reboot.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
#include "async.h"
|
||||
#include "manager.h"
|
||||
#include "unit.h"
|
||||
#include "service.h"
|
||||
@@ -222,7 +223,7 @@ static void service_close_socket_fd(Service *s) {
|
||||
if (s->socket_fd < 0)
|
||||
return;
|
||||
|
||||
s->socket_fd = safe_close(s->socket_fd);
|
||||
s->socket_fd = asynchronous_close(s->socket_fd);
|
||||
}
|
||||
|
||||
static void service_connection_unref(Service *s) {
|
||||
@@ -2712,7 +2713,7 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value,
|
||||
log_debug_unit(u->id, "Failed to parse socket-fd value %s", value);
|
||||
else {
|
||||
|
||||
safe_close(s->socket_fd);
|
||||
asynchronous_close(s->socket_fd);
|
||||
s->socket_fd = fdset_remove(fds, fd);
|
||||
}
|
||||
} else if (streq(key, "main-exec-status-pid")) {
|
||||
|
||||
Reference in New Issue
Block a user