[前][次][番号順一覧][スレッド一覧]

ruby-changes:20890

From: akr <ko1@a...>
Date: Fri, 12 Aug 2011 08:22:29 +0900 (JST)
Subject: [ruby-changes:20890] akr:r32939 (trunk): * ext/socket/ipsocket.c (init_inetsock_internal): use SOMAXCONN for

akr	2011-08-12 08:20:15 +0900 (Fri, 12 Aug 2011)

  New Revision: 32939

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=32939

  Log:
    * ext/socket/ipsocket.c (init_inetsock_internal): use SOMAXCONN for
      listen backlog.
    
    * ext/socket/unixsocket.c (rsock_init_unixsock): ditto.
    
    * ext/socket/lib/socket.rb (Addrinfo#listen): ditto.
      (Socket.tcp_server_sockets_port0): ditto.
    
    * ext/socket/mkconstants.rb: define SOMAXCONN as 5 if not available.

  Modified files:
    trunk/ChangeLog
    trunk/ext/socket/ipsocket.c
    trunk/ext/socket/lib/socket.rb
    trunk/ext/socket/mkconstants.rb
    trunk/ext/socket/unixsocket.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 32938)
+++ ChangeLog	(revision 32939)
@@ -1,3 +1,15 @@
+Fri Aug 12 08:17:46 2011  Tanaka Akira  <akr@f...>
+
+	* ext/socket/ipsocket.c (init_inetsock_internal): use SOMAXCONN for
+	  listen backlog.
+
+	* ext/socket/unixsocket.c (rsock_init_unixsock): ditto.
+
+	* ext/socket/lib/socket.rb (Addrinfo#listen): ditto.
+	  (Socket.tcp_server_sockets_port0): ditto.
+
+	* ext/socket/mkconstants.rb: define SOMAXCONN as 5 if not available.
+
 Fri Aug 12 03:24:35 2011  Eric Hodel  <drbrain@s...>
 
 	* lib/rdoc:  Import RDoc 3.9.2.  Fixes TIDYLINK for HTML output.
Index: ext/socket/ipsocket.c
===================================================================
--- ext/socket/ipsocket.c	(revision 32938)
+++ ext/socket/ipsocket.c	(revision 32939)
@@ -105,7 +105,7 @@
     arg->fd = -1;
 
     if (type == INET_SERVER) {
-	status = listen(fd, 5);
+	status = listen(fd, SOMAXCONN);
 	if (status < 0) {
 	    close(fd);
             rb_sys_fail("listen(2)");
Index: ext/socket/lib/socket.rb
===================================================================
--- ext/socket/lib/socket.rb	(revision 32938)
+++ ext/socket/lib/socket.rb	(revision 32939)
@@ -182,7 +182,7 @@
   end
 
   # creates a listening socket bound to self.
-  def listen(backlog=5)
+  def listen(backlog=Socket::SOMAXCONN)
     sock = Socket.new(self.pfamily, self.socktype, self.protocol)
     begin
       sock.ipv6only! if self.ipv6?
@@ -386,7 +386,7 @@
     ai_list = Addrinfo.getaddrinfo(host, 0, nil, :STREAM, nil, Socket::AI_PASSIVE)
     sockets = ip_sockets_port0(ai_list, true)
     sockets.each {|s|
-      s.listen(5)
+      s.listen(Socket::SOMAXCONN)
     }
     sockets
   ensure
Index: ext/socket/mkconstants.rb
===================================================================
--- ext/socket/mkconstants.rb	(revision 32938)
+++ ext/socket/mkconstants.rb	(revision 32939)
@@ -688,7 +688,7 @@
 IFNAMSIZ	nil	Maximum interface name size
 IF_NAMESIZE	nil	Maximum interface name size
 
-SOMAXCONN	nil	Maximum connection requests that may be queued for a socket
+SOMAXCONN	5	Maximum connection requests that may be queued for a socket
 
 SCM_RIGHTS	nil	Access rights
 SCM_TIMESTAMP	nil	Timestamp (timeval)
Index: ext/socket/unixsocket.c
===================================================================
--- ext/socket/unixsocket.c	(revision 32938)
+++ ext/socket/unixsocket.c	(revision 32939)
@@ -66,7 +66,7 @@
     }
 
     if (server) {
-	if (listen(fd, 5) < 0) {
+	if (listen(fd, SOMAXCONN) < 0) {
 	    close(fd);
 	    rb_sys_fail("listen(2)");
 	}

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]