From 453e7e1c3fff0bb3a1044857f4e1f33aa3035f54 Mon Sep 17 00:00:00 2001 From: ocean Date: Sat, 17 Sep 2005 02:42:59 +0000 Subject: * win32/win32.c (rb_w32_select): select for socket didn't work. this caused deadlock in drb test. this happened because GetFileType for socket handle returns FILE_TYPE_PIPE. Of course, it's not a pipe. So socket handle didn't reach winsock's select function. * win32/win32.c (rb_w32_select): read for pipe still kept brocking even if writer handle was closed. r,w = IO.pipe Thread.new { sleep 3; puts "------- 1" w.puts("foo") sleep 3; puts "------- 2" w.puts("boo") sleep 3; puts "------- 3" w.close } until r.eof? # should break by w.close but didn't. puts r.gets end * win32/win32.c (rb_w32_select): temprary reverted console support but it'll be back soon. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@9192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index db1e1d6ac..5376da78a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,31 @@ +Sat Sep 17 11:24:16 2005 Hirokazu Yamamoto + + * win32/win32.c (rb_w32_select): select for socket didn't work. + this caused deadlock in drb test. this happened because GetFileType + for socket handle returns FILE_TYPE_PIPE. Of course, it's not a + pipe. So socket handle didn't reach winsock's select function. + + * win32/win32.c (rb_w32_select): read for pipe still kept brocking + even if writer handle was closed. + + r,w = IO.pipe + + Thread.new { + sleep 3; puts "------- 1" + w.puts("foo") + sleep 3; puts "------- 2" + w.puts("boo") + sleep 3; puts "------- 3" + w.close + } + + until r.eof? # should break by w.close but didn't. + puts r.gets + end + + * win32/win32.c (rb_w32_select): temprary reverted console support + but it'll be back soon. + Sat Sep 17 10:42:13 2005 Hidetoshi NAGAI * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string and bg_eval_string -- cgit