chiark / gitweb /
treewide: another round of simplifications
[elogind.git] / src / socket-proxy / socket-proxyd.c
index d2d7d350150cb117eed0341e27542f947519a694..a3c3c87f11794c404c8f1996248aa44d05088d0e 100644 (file)
@@ -120,18 +120,14 @@ static int connection_create_pipes(Connection *c, int buffer[2], size_t *sz) {
                 return 0;
 
         r = pipe2(buffer, O_CLOEXEC|O_NONBLOCK);
-        if (r < 0) {
-                log_error("Failed to allocate pipe buffer: %m");
-                return -errno;
-        }
+        if (r < 0)
+                return log_error_errno(errno, "Failed to allocate pipe buffer: %m");
 
         (void) fcntl(buffer[0], F_SETPIPE_SZ, BUFFER_SIZE);
 
         r = fcntl(buffer[0], F_GETPIPE_SZ);
-        if (r < 0) {
-                log_error("Failed to get pipe buffer size: %m");
-                return -errno;
-        }
+        if (r < 0)
+                return log_error_errno(errno, "Failed to get pipe buffer size: %m");
 
         assert(r > 0);
         *sz = r;
@@ -171,10 +167,8 @@ static int connection_shovel(
                         } else if (z == 0 || errno == EPIPE || errno == ECONNRESET) {
                                 *from_source = sd_event_source_unref(*from_source);
                                 *from = safe_close(*from);
-                        } else if (errno != EAGAIN && errno != EINTR) {
-                                log_error("Failed to splice: %m");
-                                return -errno;
-                        }
+                        } else if (errno != EAGAIN && errno != EINTR)
+                                return log_error_errno(errno, "Failed to splice: %m");
                 }
 
                 if (*full > 0 && *to >= 0) {
@@ -185,10 +179,8 @@ static int connection_shovel(
                         } else if (z == 0 || errno == EPIPE || errno == ECONNRESET) {
                                 *to_source = sd_event_source_unref(*to_source);
                                 *to = safe_close(*to);
-                        } else if (errno != EAGAIN && errno != EINTR) {
-                                log_error("Failed to splice: %m");
-                                return -errno;
-                        }
+                        } else if (errno != EAGAIN && errno != EINTR)
+                                return log_error_errno(errno, "Failed to splice: %m");
                 }
         } while (shoveled);
 
@@ -265,10 +257,8 @@ static int connection_enable_event_sources(Connection *c) {
         else
                 r = 0;
 
-        if (r < 0) {
-                log_error_errno(r, "Failed to set up server event source: %m");
-                return r;
-        }
+        if (r < 0)
+                return log_error_errno(r, "Failed to set up server event source: %m");
 
         if (c->client_event_source)
                 r = sd_event_source_set_io_events(c->client_event_source, b);
@@ -277,10 +267,8 @@ static int connection_enable_event_sources(Connection *c) {
         else
                 r = 0;
 
-        if (r < 0) {
-                log_error_errno(r, "Failed to set up client event source: %m");
-                return r;
-        }
+        if (r < 0)
+                return log_error_errno(r, "Failed to set up client event source: %m");
 
         return 0;
 }
@@ -321,12 +309,12 @@ static int connect_cb(sd_event_source *s, int fd, uint32_t revents, void *userda
         solen = sizeof(error);
         r = getsockopt(fd, SOL_SOCKET, SO_ERROR, &error, &solen);
         if (r < 0) {
-                log_error("Failed to issue SO_ERROR: %m");
+                log_error_errno(errno, "Failed to issue SO_ERROR: %m");
                 goto fail;
         }
 
         if (error != 0) {
-                log_error("Failed to connect to remote host: %s", strerror(error));
+                log_error_errno(error, "Failed to connect to remote host: %m");
                 goto fail;
         }
 
@@ -348,7 +336,7 @@ static int connection_start(Connection *c, struct sockaddr *sa, socklen_t salen)
 
         c->client_fd = socket(sa->sa_family, SOCK_STREAM|SOCK_NONBLOCK|SOCK_CLOEXEC, 0);
         if (c->client_fd < 0) {
-                log_error("Failed to get remote socket: %m");
+                log_error_errno(errno, "Failed to get remote socket: %m");
                 goto fail;
         }
 
@@ -367,7 +355,7 @@ static int connection_start(Connection *c, struct sockaddr *sa, socklen_t salen)
                                 goto fail;
                         }
                 } else {
-                        log_error("Failed to connect to remote host: %m");
+                        log_error_errno(errno, "Failed to connect to remote host: %m");
                         goto fail;
                 }
         } else {
@@ -514,7 +502,7 @@ static int accept_cb(sd_event_source *s, int fd, uint32_t revents, void *userdat
         nfd = accept4(fd, NULL, NULL, SOCK_NONBLOCK|SOCK_CLOEXEC);
         if (nfd < 0) {
                 if (errno != -EAGAIN)
-                        log_warning("Failed to accept() socket: %m");
+                        log_warning_errno(errno, "Failed to accept() socket: %m");
         } else {
                 getpeername_pretty(nfd, &peer);
                 log_debug("New connection from %s", strna(peer));
@@ -550,26 +538,20 @@ static int add_listen_socket(Context *context, int fd) {
         }
 
         r = sd_is_socket(fd, 0, SOCK_STREAM, 1);
-        if (r < 0) {
-                log_error_errno(r, "Failed to determine socket type: %m");
-                return r;
-        }
+        if (r < 0)
+                return log_error_errno(r, "Failed to determine socket type: %m");
         if (r == 0) {
                 log_error("Passed in socket is not a stream socket.");
                 return -EINVAL;
         }
 
         r = fd_nonblock(fd, true);
-        if (r < 0) {
-                log_error_errno(r, "Failed to mark file descriptor non-blocking: %m");
-                return r;
-        }
+        if (r < 0)
+                return log_error_errno(r, "Failed to mark file descriptor non-blocking: %m");
 
         r = sd_event_add_io(context->event, &source, fd, EPOLLIN, accept_cb, context);
-        if (r < 0) {
-                log_error_errno(r, "Failed to add event source: %m");
-                return r;
-        }
+        if (r < 0)
+                return log_error_errno(r, "Failed to add event source: %m");
 
         r = set_put(context->listen, source);
         if (r < 0) {
@@ -581,10 +563,8 @@ static int add_listen_socket(Context *context, int fd) {
         /* Set the watcher to oneshot in case other processes are also
          * watching to accept(). */
         r = sd_event_source_set_enabled(source, SD_EVENT_ONESHOT);
-        if (r < 0) {
-                log_error_errno(r, "Failed to enable oneshot mode: %m");
-                return r;
-        }
+        if (r < 0)
+                return log_error_errno(r, "Failed to enable oneshot mode: %m");
 
         return 0;
 }