e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B
e$B:G6a$Ne(Bsockete$B<~$j$N%F%9%H$r<B9T$7$F$$$F!“e(BWindowse$B$G$$$m$$$mLdBje(B
e$B$,$”$k$H$$$&$3$H$K5$IU$-$^$7$?!#e(B
e$B:GBg$NLdBj$Oe(B read_nonblock e$B$He(B write_nonblock
e$B$G8G$^$C$A$c$&$He(B
e$B$$$&$b$N$J$N$G$9$,!"$3$l$O$3$C$A$NLdBj$J$N$G$H$j$"$($:CV$$$Fe(B
e$B$$-$^$9e(B(e$BCV$$$F$$$$F$$$$OC$G$b$J$$$s$G$9$,e(B…)e$B!#e(B
e$B$5$F!“e(Btest/socket/test_nonblock.rbe$B$NCf$G$O!“e(B
assert_raise(Errno::EAGAIN) { … }
e$B$H$$$&%A%’%C%/$,B?MQ$5$l$F$$$k$N$G$9$,!”$3$l$Oe(B
assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) { … }
e$B$K$9$Y$-$G$O$J$$$+$H;W$&$N$G$9$,!”@5$7$$$G$7$g$&$+e(B?
e$B$^$?!“e(BWindowse$B$G$O!“e(Bbinde$B$5$l$F$$$J$$e(Bsockete$B$KBP$9$ke(Brecvfrom()e$B$Oe(B
EINVALe$B$rJV$9$N$G$9$,!”$3$l$O!“e(B
(1) e$BHs>o<1$@!”$*A0$,$J$s$H$+$7$me(B
(2) e$B$=$&$$$&4D6-$@$H$$$&$J$i$=$l$O$=$l$G$”$j$+$Je(B
(3) e$B$=$NB>e(B
e$B$N$$$:$l$@$H9M$($k$Y$-$G$7$g$&$+e(B?
e$B$^$?!"e(BUNIX
Sockete$B$,B8:_$7$J$$4D6-$KBP$9$kG[N8$b7g$1$F$$$k$h$&e(B
e$B$K;W$o$l$^$9!#e(B
e$B0J>ee(B3e$BE@$K4X$7$F!"e(B1e$BE@L$KIU$$$F$O!V@5$7$$!W!"e(B2e$BE@L$KIU$$$F$Oe(B(2)e$B!"e(B
e$B$@$H2>Dj$7$F$N%Q%C%A$G$9!#e(B
Index: test/socket/test_nonblock.rb
RCS file: /home/cvs/ruby/test/socket/test_nonblock.rb,v
retrieving revision 1.2
diff -u -1 -p -r1.2 test_nonblock.rb
— test/socket/test_nonblock.rb 4 Jun 2006 12:14:54 -0000 1.2
+++ test/socket/test_nonblock.rb 7 Jun 2006 06:01:43 -0000
@@ -13,3 +13,3 @@ class TestNonblockSocket < Test::Unit::T
serv.listen(5)
- assert_raise(Errno::EAGAIN) { serv.accept_nonblock }
- assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {
serv.accept_nonblock }
c = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
@@ -53,4 +53,4 @@ class TestNonblockSocket < Test::Unit::T
u1.bind(“127.0.0.1”, 0)
- assert_raise(Errno::EAGAIN) { u1.recvfrom_nonblock(100) }
- assert_raise(Errno::EAGAIN) { u2.recvfrom_nonblock(100) }
- assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {
u1.recvfrom_nonblock(100) } - assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK, Errno::EINVAL) {
u2.recvfrom_nonblock(100) }
u2.send(“aaa”, 0, u1.getsockname)
@@ -63,3 +63,3 @@ class TestNonblockSocket < Test::Unit::T
assert_equal(u2_port, port)
- assert_raise(Errno::EAGAIN) { u1.recvfrom_nonblock(100) }
- assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {
u1.recvfrom_nonblock(100) }
u2.send("", 0, u1.getsockname)
@@ -84,4 +84,4 @@ class TestNonblockSocket < Test::Unit::T
s = serv.accept
- assert_raise(Errno::EAGAIN) { s.recvfrom_nonblock(100) }
- assert_raise(Errno::EAGAIN) { c.recvfrom_nonblock(100) }
- assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {
s.recvfrom_nonblock(100) } - assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {
c.recvfrom_nonblock(100) }
s.write “aaa”
@@ -104,3 +104,3 @@ class TestNonblockSocket < Test::Unit::T
s.close if s && !s.closed?
- end
- end if defined?(UNIXSocket)
@@ -110,4 +110,4 @@ class TestNonblockSocket < Test::Unit::T
s2 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
- assert_raise(Errno::EAGAIN) { s1.recvfrom_nonblock(100) }
- assert_raise(Errno::EAGAIN) { s2.recvfrom_nonblock(100) }
- assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {
s1.recvfrom_nonblock(100) } - assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK, Errno::EINVAL) {
s2.recvfrom_nonblock(100) }
s2.send(“aaa”, 0, s1.getsockname)
@@ -136,4 +136,4 @@ class TestNonblockSocket < Test::Unit::T
c, s = tcp_pair
- assert_raise(Errno::EAGAIN) { c.read_nonblock(100) }
- assert_raise(Errno::EAGAIN) { s.read_nonblock(100) }
- assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {
c.read_nonblock(100) } - assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {
s.read_nonblock(100) }
c.write(“abc”)
@@ -142,3 +142,3 @@ class TestNonblockSocket < Test::Unit::T
assert_equal(“bc”, s.read_nonblock(100))
- assert_raise(Errno::EAGAIN) { s.read_nonblock(100) }
- assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {
s.read_nonblock(100) }
ensure
@@ -156,3 +156,3 @@ class TestNonblockSocket < Test::Unit::T
loop {
-
assert_raise(Errno::EAGAIN) {
-
assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) { loop {
Index: test/socket/test_socket.rb
RCS file: /home/cvs/ruby/test/socket/test_socket.rb,v
retrieving revision 1.8
diff -u -1 -p -r1.8 test_socket.rb
— test/socket/test_socket.rb 5 Jun 2006 09:15:46 -0000 1.8
+++ test/socket/test_socket.rb 7 Jun 2006 06:01:43 -0000
@@ -82,2 +82,2 @@ class TestSocket < Test::Unit::TestCase
end
-end
+end if defined?(Socket) && Socket.respond_to?(:sockaddr_un)
e$B$=$l$G$O!#e(B