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
This commit is contained in:
nagachika 2013-11-11 14:55:35 +00:00
parent 1ebb3a2b50
commit 8d087aa871
3 changed files with 12 additions and 2 deletions

View file

@ -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)