summaryrefslogtreecommitdiff
path: root/network_io
diff options
context:
space:
mode:
authorYann Ylavic <ylavic@apache.org>2015-03-20 01:09:21 +0000
committerYann Ylavic <ylavic@apache.org>2015-03-20 01:09:21 +0000
commit5efe443673d85ba5e94edbbb4383d9a968f56b94 (patch)
tree002b0e879f7640f04539ab9be1e2898ae665314f /network_io
parent44368cd4ee60860484d668c618734908396454cd (diff)
downloadapr-5efe443673d85ba5e94edbbb4383d9a968f56b94.tar.gz
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
Diffstat (limited to 'network_io')
-rw-r--r--network_io/unix/sockets.c14
1 files changed, 10 insertions, 4 deletions
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