[#30589] [Bug #3391] Use single exclamation mark instead of double exclamation mark for IRB — Diego Viola <redmine@...>

Bug #3391: Use single exclamation mark instead of double exclamation mark for IRB

10 messages 2010/06/04

[#30672] [Bug #3411] Time.local 1916,5,1 #=> 1916-04-30 23:00:00 +0100 — Benoit Daloze <redmine@...>

Bug #3411: Time.local 1916,5,1 #=> 1916-04-30 23:00:00 +0100

12 messages 2010/06/08

[#30699] [Bug #3419] 1.9.2-preview3 possible bug with Rails 3 active_record sqlite_adapter — Joe Sak <redmine@...>

Bug #3419: 1.9.2-preview3 possible bug with Rails 3 active_record sqlite_adapter

9 messages 2010/06/09

[#30734] [Bug #3428] ri outputs ansi escape sequences even when stdout is not a tty — caleb clausen <redmine@...>

Bug #3428: ri outputs ansi escape sequences even when stdout is not a tty

11 messages 2010/06/11

[#30756] [Feature #3436] Spawn the timer thread lazily — Maximilian Gass <redmine@...>

Feature #3436: Spawn the timer thread lazily

15 messages 2010/06/13
[#32686] [Ruby 1.9-Feature#3436] Spawn the timer thread lazily — Mark Somerville <redmine@...> 2010/10/04

Issue #3436 has been updated by Mark Somerville.

[ruby-core:30915] Re: [Bug #3484] IO.copy_stream w/sendfile fails on large files under 32-bit

From: Tanaka Akira <akr@...>
Date: 2010-06-27 04:24:44 UTC
List: ruby-core #30915
2010/6/26 Eric Wong <redmine@ruby-lang.org>:
>
> When IO.copy_stream uses sendfile() under 32-bit Linux, it fails for
> large files (>2G) because a single sendfile() is limited to the maximum value
> of ssize_t (LONG_MAX).  Attached is a short patch that breaks up large sendfile()
> calls and reuses the existing retry logic.

Thank you for the fix.

A script to reproduce the problem (for the record):

% cat z.rb
require 'socket'

s = Addrinfo.tcp("127.0.0.1", 0).listen

len = 4*1024*1024*1024

th = Thread.new {
  t, _ = s.accept
  buf = ""
  n = 0
  while t.read(65536, buf)
    n += buf.length
  end
  if n == len
    p :success
  else
    p [:failure, len, n]
  end
}

u = s.connect_address.connect

open("/tmp/bigtmp", "w") {|f|
  f.seek len-1
  f.print "a"
}

IO.copy_stream("/tmp/bigtmp", u)

u.close

th.join

% ./ruby -v z.rb
ruby 1.9.3dev (2010-06-27 trunk 28448) [i686-linux]
[:failure, 4294967296, 0]
-- 
Tanaka Akira

In This Thread

Prev Next