socket: if we fail to create an instantiated service for a socket, don't put the socket in failure mode

An incoming connection that is immediately terminated might result in
getpeername() or a similar call failing. Hence it is quite possible that
while we are setting up an instantiated service for a socket we might
get an error and we shouldn't take this as hint to take the listening
socket down.

https://bugs.freedesktop.org/show_bug.cgi?id=45297
https://bugzilla.novell.com/show_bug.cgi?id=741590
This commit is contained in:
Lennart Poettering 2012-03-14 03:01:27 +01:00
parent 6b80b9b8ee
commit 9586cdfab6
2 changed files with 6 additions and 1 deletions

6
TODO
View File

@ -18,6 +18,12 @@ Bugfixes:
Features:
* add DeleteSocketsOnStop=yes|no option to socket units
* add shutdown inhibit API for usage by libvirt and friends
* journal: store euid in journal if it differs from uid
* support chrony in addition to ntpd in timedated
* journal: extend sd-journal.h logging calls to implicitly log function names/line numbers/...

View File

@ -1491,7 +1491,6 @@ static void socket_enter_running(Socket *s, int cfd) {
fail:
log_warning("%s failed to queue socket startup job: %s", UNIT(s)->id, bus_error(&error, r));
socket_enter_stop_pre(s, SOCKET_FAILURE_RESOURCES);
if (cfd >= 0)
close_nointr_nofail(cfd);