diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-11-11 14:55:35 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-11-11 14:55:35 +0000 |
commit | 8d087aa871d26f1ef22e7e9c98211d207f51360c (patch) | |
tree | 334693469139df16d72667eb70f4a6a22bcae5d7 /ext/socket | |
parent | 1ebb3a2b50126fba8a54ebbf2694645894d933ec (diff) |
merge revision(s) 40136: [Backport #9084]
* ext/socket/init.c (cloexec_accept): Fix a compile error on
Debian GNU/kFreeBSD. Consider HAVE_ACCEPT4 is defined
but SOCK_CLOEXEC is not defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/socket')
-rw-r--r-- | ext/socket/init.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/socket/init.c b/ext/socket/init.c index 4c1d17df98..9999c02969 100644 --- a/ext/socket/init.c +++ b/ext/socket/init.c @@ -488,7 +488,11 @@ cloexec_accept(int socket, struct sockaddr *address, socklen_t *address_len) if (address_len) len0 = *address_len; #ifdef HAVE_ACCEPT4 if (try_accept4) { - ret = accept4(socket, address, address_len, SOCK_CLOEXEC); + int flags = 0; +#ifdef SOCK_CLOEXEC + flags |= SOCK_CLOEXEC; +#endif + ret = accept4(socket, address, address_len, flags); /* accept4 is available since Linux 2.6.28, glibc 2.10. */ if (ret != -1) { if (ret <= 2) |