* thread.c (do_select): use ubf_select() as UBF on windows.

* win32/win32.c (do_select): shouldn't call catch_interrupt() here.
	  fixed: [ruby-dev:30674], reported by wanabe.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
usa 2007-04-09 09:29:45 +00:00
parent 6df7c0c721
commit 1486959550
4 changed files with 11 additions and 11 deletions

View File

@ -1,3 +1,10 @@
Mon Apr 9 18:27:26 2007 NAKAMURA Usaku <usa@ruby-lang.org>
* thread.c (do_select): use ubf_select() as UBF on windows.
* win32/win32.c (do_select): shouldn't call catch_interrupt() here.
fixed: [ruby-dev:30674], reported by wanabe.
Mon Apr 9 09:24:32 2007 Shugo Maeda <shugo@ruby-lang.org>
* lib/net/imap.rb (disconnect): call shutdown for

View File

@ -1720,7 +1720,7 @@ do_select(int n, fd_set *read, fd_set *write, fd_set *except,
if (except) *except = orig_except;
wait = &wait_100ms;
} while (__th->interrupt_flag == 0 && (timeout == 0 || subst(timeout, &wait_100ms)));
}, 0);
}, do_select);
} while (result == 0 && (timeout == 0 || subst(timeout, &wait_100ms)));
}
#else

View File

@ -1,7 +1,7 @@
#define RUBY_VERSION "1.9.0"
#define RUBY_RELEASE_DATE "2007-04-08"
#define RUBY_RELEASE_DATE "2007-04-09"
#define RUBY_VERSION_CODE 190
#define RUBY_RELEASE_CODE 20070408
#define RUBY_RELEASE_CODE 20070409
#define RUBY_PATCHLEVEL 0
#define RUBY_VERSION_MAJOR 1
@ -9,7 +9,7 @@
#define RUBY_VERSION_TEENY 0
#define RUBY_RELEASE_YEAR 2007
#define RUBY_RELEASE_MONTH 4
#define RUBY_RELEASE_DAY 8
#define RUBY_RELEASE_DAY 9
RUBY_EXTERN const char ruby_version[];
RUBY_EXTERN const char ruby_release_date[];

View File

@ -2110,9 +2110,6 @@ do_select(int nfds, fd_set *rd, fd_set *wr, fd_set *ex,
rb_w32_sleep(INFINITE);
}
else {
#if !USE_INTERRUPT_WINSOCK
int trap_immediate = rb_trap_immediate;
#endif /* !USE_INTERRUPT_WINSOCK */
RUBY_CRITICAL(
r = select(nfds, rd, wr, ex, timeout);
if (r == SOCKET_ERROR) {
@ -2120,10 +2117,6 @@ do_select(int nfds, fd_set *rd, fd_set *wr, fd_set *ex,
r = -1;
}
);
#if !USE_INTERRUPT_WINSOCK
rb_trap_immediate = trap_immediate;
catch_interrupt();
#endif /* !USE_INTERRUPT_WINSOCK */
}
return r;