summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-09 23:39:37 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-09 23:39:37 +0000
commit442658b2c96ab6c19103f7f28919c1228ebd0b63 (patch)
treef232a064d007902212f5044ef624c00451a2afda
parent5e6ceed141a18daaf99eaaee42d61f37b0b14c7d (diff)
downloadruby-442658b2c96ab6c19103f7f28919c1228ebd0b63.tar.gz
ruby-442658b2c96ab6c19103f7f28919c1228ebd0b63.tar.xz
ruby-442658b2c96ab6c19103f7f28919c1228ebd0b63.zip
* ext/socket/socket.c (sock_listen): get OpenFile just before calling
listen(2). fixed: [ruby-dev:25149] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--ext/socket/socket.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index cf84bf89c..3c1ba5d4b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Dec 10 08:39:27 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/socket/socket.c (sock_listen): get OpenFile just before calling
+ listen(2). fixed: [ruby-dev:25149]
+
Thu Dec 9 17:00:00 2004 Akiyoshi, Masamichi <akiyoshi@hp.com>
* ext/socket/socket.c, ext/socket/getaddrinfo.c: port to VMS
diff --git a/ext/socket/socket.c b/ext/socket/socket.c
index c2f5dfdbb..09355b473 100644
--- a/ext/socket/socket.c
+++ b/ext/socket/socket.c
@@ -1937,10 +1937,12 @@ sock_listen(sock, log)
VALUE sock, log;
{
OpenFile *fptr;
+ int backlog;
rb_secure(4);
+ backlog = NUM2INT(log);
GetOpenFile(sock, fptr);
- if (listen(fileno(fptr->f), NUM2INT(log)) < 0)
+ if (listen(fileno(fptr->f), backlog) < 0)
rb_sys_fail("listen(2)");
return INT2FIX(0);