Project

General

Profile

Actions

Bug #1540

closed

read on win32 now defaults to blocking

Added by rogerdpack (Roger Pack) over 15 years ago. Updated over 13 years ago.

Status:
Third Party's Issue
Target version:
ruby -v:
TRUNK
Backport:
[ruby-core:23638]

Description

=begin
Currently the win32.{c,h} files override calls to "read" in the code with windows style read calls.
The goal being to give read the same semantics on both linux and windows, for c ruby code.

With 1.8.6 the calls to read on linux+windows defaulted to non blocking.
Now (perhaps inadvertently) with 1.9, on linux they default to non blocking, and on windows blocking. This breaks libraries that do their own "readability" checks then calls to read (like rev, eventmachine).
The request is to go to non blocking for linux+windows for 1.9, unless this is an expected change.
Thanks!
-=r
=end

Actions #1

Updated by rogerdpack (Roger Pack) over 15 years ago

=begin
Appears that with 1.9 + windows you must use fcntl [instead of direct ioctlsocket] so that ruby adds the socket to its internal list of non blocking descriptors. EventMachine wasn't doing that [since it wasn't necessary with 1.8] but it seems to be working now.
You can probably close this.
Thanks to Bill Kelly for figuring it out.
http://rubyforge.org/pipermail/eventmachine-talk/2009-June/002351.html
=end

Actions #2

Updated by yugui (Yuki Sonoda) over 15 years ago

  • Target version set to 1.9.2

=begin

=end

Actions #3

Updated by yugui (Yuki Sonoda) over 15 years ago

  • Assignee set to usa (Usaku NAKAMURA)

=begin

=end

Actions #4

Updated by usa (Usaku NAKAMURA) over 15 years ago

  • Status changed from Open to Third Party's Issue

=begin

=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0