Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: JRuby 1.6
-
Fix Version/s: JRuby 1.7.0.pre1
-
Component/s: Core Classes/Modules
-
Environment:OSX 10.6
-
Number of attachments :
Description
Both Socket#write and Socket#syswrite raise Errno::EPIPE on a broken pipe, but JRuby raises a SystemCallError for Socket#syswrite. The exception on a broken pipe for the buffered write (Socket#write) is correct. This behavior can be reproduced with the attached script.
commit 353fea102ba24725fbc62b9ea2c18725c947ce98 Author: Charles Oliver Nutter <headius@headius.com> Date: Mon Mar 12 18:08:16 2012 -0500 Fix JRUBY-5876 Socket#syswrite (the non-buffered one) raises SystemCallError on broken pipe Not the prettiest fix, but it's hard to get a better one when JDK hides the actual errors behind IOException. commit 2548a1e3ce9ef31bad95737be8f262a335500e42 Author: Charles Oliver Nutter <headius@headius.com> Date: Mon Mar 12 18:13:12 2012 -0500 Test for JRUBY-5876.