summaryrefslogtreecommitdiffstats
path: root/src/core/socket.c
diff options
context:
space:
mode:
authorLuca Boccassi <bluca@debian.org>2023-07-30 17:31:16 +0200
committerGitHub <noreply@github.com>2023-07-30 17:31:16 +0200
commit167338529b31ac2878c0d122dba8f4712775d33f (patch)
treead3d4cd4633594d850fb396225a877c8dc1d2782 /src/core/socket.c
parentnetwork: ndisc - Honour CurHopLimit (diff)
parentnspawn,shared: cleanup use of ERRNO_IS_SECCOMP_FATAL() (diff)
downloadsystemd-167338529b31ac2878c0d122dba8f4712775d33f.tar.xz
systemd-167338529b31ac2878c0d122dba8f4712775d33f.zip
Merge pull request #28428 from ldv-alt/ERRNO_IS
treewide: cleanup use of ERRNO_IS_*(r)
Diffstat (limited to 'src/core/socket.c')
-rw-r--r--src/core/socket.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/core/socket.c b/src/core/socket.c
index 03b8cbd164..aaa443432b 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -1386,14 +1386,15 @@ int socket_load_service_unit(Socket *s, int cfd, Unit **ret) {
if (cfd >= 0) {
r = instance_from_socket(cfd, s->n_accepted, &instance);
- if (ERRNO_IS_DISCONNECT(r))
- /* ENOTCONN is legitimate if TCP RST was received. Other socket families might return
- * different errors. This connection is over, but the socket unit lives on. */
- return log_unit_debug_errno(UNIT(s), r,
- "Got %s on incoming socket, assuming aborted connection attempt, ignoring.",
- errno_to_name(r));
- if (r < 0)
+ if (r < 0) {
+ if (ERRNO_IS_DISCONNECT(r))
+ /* ENOTCONN is legitimate if TCP RST was received. Other socket families might return
+ * different errors. This connection is over, but the socket unit lives on. */
+ return log_unit_debug_errno(UNIT(s), r,
+ "Got %s on incoming socket, assuming aborted connection attempt, ignoring.",
+ errno_to_name(r));
return r;
+ }
}
/* For accepting sockets, we don't know how the instance will be called until we get a connection and
@@ -2377,10 +2378,11 @@ static void socket_enter_running(Socket *s, int cfd_in) {
}
r = socket_load_service_unit(s, cfd, &service);
- if (ERRNO_IS_DISCONNECT(r))
- return;
- if (r < 0)
+ if (r < 0) {
+ if (ERRNO_IS_DISCONNECT(r))
+ return;
goto fail;
+ }
r = unit_add_two_dependencies(UNIT(s), UNIT_BEFORE, UNIT_TRIGGERS, service,
false, UNIT_DEPENDENCY_IMPLICIT);
@@ -2390,10 +2392,11 @@ static void socket_enter_running(Socket *s, int cfd_in) {
s->n_accepted++;
r = service_set_socket_fd(SERVICE(service), cfd, s, p, s->selinux_context_from_net);
- if (ERRNO_IS_DISCONNECT(r))
- return;
- if (r < 0)
+ if (r < 0) {
+ if (ERRNO_IS_DISCONNECT(r))
+ return;
goto fail;
+ }
TAKE_FD(cfd); /* We passed ownership of the fd to the service now. Forget it here. */
s->n_connections++;