On Tue, May 13, 2014 at 07:40:53PM +0200, Umut Tezduyar Lindskog wrote: > It is also reproducible by just loosing the carrier on the link. Maybe new > async close is a candidate to solve it. > > On Tuesday, April 29, 2014, Harald Hoyer <harald.ho...@gmail.com> wrote: > > > Am 28.04.2014 13:33, schrieb Jimmy Assarsson: > > > Hi, > > > > > > We stumbled upon a freeze/block in systemd. > > > The problem occurs when a rshd (socket activated) execution is > > completed, the network connection is down and systemd is closing the socket. > > > This causes a long (60 seconds) freeze where it's not possible to > > communicate with systemd. > > > Do you have any idea on what is causing this or how we can investigate > > this further? Can you check if this patch fixes the problem:
-----------------&<--------------------------------------------- Subject: [PATCH] core: close socket fds asynchronously http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html --- src/core/service.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/service.c b/src/core/service.c index 694a265..7461ec3 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -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) { @@ -2705,7 +2706,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")) { -- 1.9.0 ----------------->&--------------------------------------------- Thanks, Zbyszek _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel