Project

General

Profile

Actions

Bug #12230

closed

Wrong exception raised when IO.read from a pipe is passed an offset on Windows

Added by vais (Vais Salikhov) over 8 years ago. Updated about 5 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.4p230 (2015-12-16 revision 53155) [i386-mingw32]
[ruby-core:74724]

Description

When IO.read from a pipe is passed an offset, the expected exception is Errno::ESPIPE, but on Windows Invalid argument (Errno::EINVAL) is raised instead:

C:\Users\Administrator\Desktop>C:\Ruby\ruby-2.2.4-i386-mingw32\bin\ruby.exe -ve "p IO.read('|cmd.exe /C echo hello', 1, 1)"
ruby 2.2.4p230 (2015-12-16 revision 53155) [i386-mingw32]
The process tried to write to a nonexistent pipe.
-e:1:in `read': Invalid argument (Errno::EINVAL)
        from -e:1:in `<main>'

Files

win32-seek-espipe.patch (1.17 KB) win32-seek-espipe.patch jeremyevans0 (Jeremy Evans), 07/24/2019 06:43 PM

Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #15199: scanf.rb broken with io from IO.pipe (MinGW or Windows?)ClosedActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0