From 5efe443673d85ba5e94edbbb4383d9a968f56b94 Mon Sep 17 00:00:00 2001 From: Yann Ylavic Date: Fri, 20 Mar 2015 01:09:21 +0000 Subject: Follow up to r1666341: fix missing apr_socket_create() and apr_socket_accept() cases. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1667916 13f79535-47bb-0310-9956-ffa450edef68 --- network_io/unix/sockets.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'network_io') diff --git a/network_io/unix/sockets.c b/network_io/unix/sockets.c index 9fc774ed0..e95ce2c7d 100644 --- a/network_io/unix/sockets.c +++ b/network_io/unix/sockets.c @@ -175,18 +175,21 @@ apr_status_t apr_socket_create(apr_socket_t **new, int ofamily, int type, #ifndef HAVE_SOCK_CLOEXEC { int flags; + apr_status_t rv; if ((flags = fcntl((*new)->socketdes, F_GETFD)) == -1) { + rv = errno; close((*new)->socketdes); (*new)->socketdes = -1; - return errno; + return rv; } flags |= FD_CLOEXEC; if (fcntl((*new)->socketdes, F_SETFD, flags) == -1) { + rv = errno; close((*new)->socketdes); (*new)->socketdes = -1; - return errno; + return rv; } } #endif @@ -357,18 +360,21 @@ apr_status_t apr_socket_accept(apr_socket_t **new, apr_socket_t *sock, #ifndef HAVE_ACCEPT4 { int flags; + apr_status_t rv; if ((flags = fcntl((*new)->socketdes, F_GETFD)) == -1) { + rv = errno; close((*new)->socketdes); (*new)->socketdes = -1; - return errno; + return rv; } flags |= FD_CLOEXEC; if (fcntl((*new)->socketdes, F_SETFD, flags) == -1) { + rv = errno; close((*new)->socketdes); (*new)->socketdes = -1; - return errno; + return rv; } } #endif -- cgit v1.2.1