diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-11-28 09:56:45 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-11-28 09:56:45 +0000 |
commit | 16732201b2e5fe58087c2d303e773cc5e915cb6d (patch) | |
tree | abd274e9c47df52a26ccefc562296543a739d755 | |
parent | 1059c9e00c0474d8ca38b58ab1317110e20aa1ce (diff) | |
download | ruby-16732201b2e5fe58087c2d303e773cc5e915cb6d.tar.gz |
* ext/socket/socket.c (init_inetsock_internal): remove setting
SO_REUSEADDR option on server socket on Cygwin.
fixed: [ruby-core:6765] ([ ruby-Bugs-2872 ])
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ext/socket/socket.c | 5 |
2 files changed, 8 insertions, 3 deletions
@@ -1,8 +1,8 @@ -Mon Nov 28 13:25:23 2005 NAKAMURA Usaku <usa@ruby-lang.org> +Mon Nov 28 18:55:43 2005 NAKAMURA Usaku <usa@ruby-lang.org> * ext/socket/socket.c (init_inetsock_internal): remove setting - SO_REUSEADDR option on server socket. fixed: [ruby-core:6765] - ([ ruby-Bugs-2872 ]) + SO_REUSEADDR option on server socket on Cygwin. + fixed: [ruby-core:6765] ([ ruby-Bugs-2872 ]) Mon Nov 28 13:08:54 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> diff --git a/ext/socket/socket.c b/ext/socket/socket.c index 0a9cf30784..db70341e54 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -1097,6 +1097,11 @@ init_inetsock_internal(arg) } arg->fd = fd; if (type == INET_SERVER) { +#if !defined(_WIN32) && !defined(__CYGWIN__) + status = 1; + setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, + (char*)&status, sizeof(status)); +#endif status = bind(fd, res->ai_addr, res->ai_addrlen); syscall = "bind(2)"; } |