merge from trunk (r27718)

* win32/win32.c, include/ruby/win32.h (rb_w32_has_cancel_io): new
  function.

* io.c (WAIT_FD_IN_WIN32): check only when it's not cancelable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
usa 2010-05-11 05:09:59 +00:00
parent 5b2c631d31
commit 52583c34d1
4 changed files with 17 additions and 2 deletions

5
io.c
View file

@ -189,9 +189,10 @@ static int max_file_descriptor = NOFILE;
#define READ_CHAR_PENDING(fptr) ((fptr)->cbuf_len)
#if defined(_WIN32)
#define WAIT_FD_IN_WIN32(fptr) rb_thread_wait_fd((fptr)->fd);
#define WAIT_FD_IN_WIN32(fptr) \
(rb_w32_has_cancel_io() ? 0 : rb_thread_wait_fd((fptr)->fd))
#else
#define WAIT_FD_IN_WIN32(fptr) ;
#define WAIT_FD_IN_WIN32(fptr)
#endif
#define READ_CHECK(fptr) do {\