[#10157] Re: Including classes — Pit Capitain <pit@...>
Ola Bini schrieb:
[#10167] SVN revision corresponding to 1.8.5_p12? — Charles Oliver Nutter <charles.nutter@...>
Simple question: what SVN revision corresponds to the 1.8.5_p12 release?
[#10185] Ruby 1.9: Why the change to the return values of #instance_variables? — "Austin Ziegler" <halostatue@...>
I have been preparing a release of Transaction::Simple 1.4 and want to
[#10193] String.ord — David Flanagan <david@...>
Hi,
Hi,
Yukihiro Matsumoto wrote:
David Flanagan wrote:
Daniel Berger wrote:
On 2/6/07, David Flanagan <david@davidflanagan.com> wrote:
Nikolai Weibull wrote:
On 2/6/07, David Flanagan <david@davidflanagan.com> wrote:
Nikolai Weibull wrote:
Quoting david@davidflanagan.com, on Wed, Feb 07, 2007 at 09:10:52AM +0900:
On 2/7/07, Sam Roberts <sroberts@uniserve.com> wrote:
Nikolai Weibull wrote:
Hi,
On 2/6/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
Hi --
On 2/6/07, dblack@wobblini.net <dblack@wobblini.net> wrote:
[#10230] Test::Unit::AutoRunner#parse_args bug, attributable to optparse documentation. — Mauricio Fernandez <mfp@...>
[#10254] uninitialized variable in function rb_syswait() — <noreply@...>
Bugs item #8538, was opened at 2007-02-09 17:25
On Sat, Feb 10, 2007 at 02:25:43AM +0900, noreply@rubyforge.org wrote:
[#10255] String:upto loops forever if argument is modified inside block — <noreply@...>
Bugs item #8539, was opened at 2007-02-09 17:27
[#10257] coredump when invoking Kernel:syscall — <noreply@...>
Bugs item #8541, was opened at 2007-02-09 17:31
On Sat, Feb 10, 2007 at 02:31:48AM +0900, noreply@rubyforge.org wrote:
[#10259] Segmentation fault: Ruby 1.8.5 Under VC++ express 2005 — "z wen" <zhimin.wen@...>
Hi
Hell,
Hello,
On 2/10/07, Masaki Suketa <masaki.suketa@nifty.ne.jp> wrote:
[#10276] fastthread now default in ruby_1_8 — "Akinori MUSHA" <knu@...>
Hi,
[#10284] Can't seem to run tests? — "Farrel Lifson" <farrel.lifson@...>
Hi there,
[#10288] Socket library should support abstract unix sockets — <noreply@...>
Bugs item #8597, was opened at 2007-02-13 16:10
On Wed, Feb 14, 2007 at 12:10:37AM +0900, noreply@rubyforge.org wrote:
Hi,
On Wed, Feb 14, 2007 at 08:38:50AM +0900, Yukihiro Matsumoto wrote:
On Wed, Feb 14, 2007 at 12:10:37AM +0900, noreply@rubyforge.org wrote:
[#10290] URI::Generic#userinfo — "Jonas Pfenniger" <zimbatm@...>
Hello,
Those are not errors. Username and password are not allowed in HTTP
[#10321] File.basename fails on Windows root paths — <noreply@...>
Bugs item #8676, was opened at 2007-02-15 10:09
Hi,
On 5/12/07, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
On 5/12/07, Austin Ziegler <halostatue@gmail.com> wrote:
Nikolai Weibull wrote:
[#10323] Trouble with xmlrpc — James Edward Gray II <james@...>
Some of the Ruby code used by TextMate makes use of xmlrpc/
> -----Original Message-----
On Feb 15, 2007, at 1:29 PM, Berger, Daniel wrote:
On Feb 15, 2007, at 1:33 PM, James Edward Gray II wrote:
On Feb 16, 2007, at 7:49 AM, James Edward Gray II wrote:
At Tue, 20 Feb 2007 22:33:08 +0900,
On Feb 20, 2007, at 7:50 AM, Akinori MUSHA wrote:
While I am complaining about xmlrpc, we have another issue. It's
James Edward Gray II wrote:
On Feb 16, 2007, at 12:08 PM, Alex Young wrote:
James Edward Gray II wrote:
On Feb 16, 2007, at 4:27 PM, Alex Young wrote:
On Feb 16, 2007, at 5:08 PM, James Edward Gray II wrote:
James Edward Gray II wrote:
[#10334] make Test::Unit output more Emacs friendly format — Kouhei Sutou <kou@...>
Hi,
[#10341] matz/knu: Requesting committer privileges to add Win32 NTLM authentication to net/http — "Justin Bailey" <jgbailey@...>
Matz, Mr. Musha, and All,
[#10357] Ruby 1.8.6 preview1 has been released — "Akinori MUSHA" <knu@...>
Hi,
[#10372] Stateful I/O interface — "Tony Arcieri" <tony@...>
Has anyone ever suggested adding a stateful I/O multiplexing interface which
[#10387] vendor_ruby support — Marcus Rueckert <mrueckert@...>
Hi,
[#10397] Ruby 1.8.5 not installing a working digest.rb on MacOSX — "Ryan Waldron" <ryan.waldron@...>
While trying to install a Rails app on my Mac (10.4 Tiger), I ran into
[#10413] Support for multiple-files breakpoint-management with Emacs — Martin Nordholts <enselic@...>
Hello!
Sorry for misformatting. This time it should be OK (enclosed in
It appears as if the debugger doesn't support 'b file.rb:25', but it
[#10414] Ruby 1.8.6 preview2 has been released — "Akinori MUSHA" <knu@...>
Hi,
On 2/24/07, Akinori MUSHA <knu@idaemons.org> wrote:
[#10420] Test::Unit shows result even if interrupted — Kouhei Sutou <kou@...>
Hi,
Kouhei Sutou <kou@cozmixng.org> writes:
[#10437] MIME decoding confused by non-MIME characters — Brian Candler <B.Candler@...>
Could someone who has bleeding-edge Ruby installed please test the
[#10442] Latest Update to RHG — Charles Thornton <ceo@...>
I am releasing the lastest version of the Ruby Hacker's Guide.
Hi,
[#10445] PATCH: Emacs support for 'ruby-debug' (rdebug) : rdebug.el — Martin Nordholts <enselic@...>
Hello,
This is a patch against trunk that also changes ./misc/README. The patch
[#10446] Potential RCR?: Array#join with block — "Farrel Lifson" <farrel.lifson@...>
Does anyone think Array#join with a block is a potential RCR?
Re: Stateful I/O interface
On 2/22/07, Paul Brannan <pbrannan@atdesk.com> wrote: > > For now, I think this is best done as a library. At present, as far as I'm aware even under YARV native extensions are bound to Ruby's scheduling quantum. For the time being the blocking calls also need looping timeout calculation similar to do_select in thread.c. It seems to me that the thread scheduler and I/O scheduler should be highly aware of each other, and that simply isn't possible in an extension. Whoever implements the extension will inevitably end up copying code out of thread.cwhich may or may not change. The reactor pattern is a well-accepted pattern for implementing such a > mechanism. There is a > reactor library for ruby, but it needs to have additional I/O > multiplexing mechanisms implemented. And that is precisely the problem. The interface I'm suggesting is intended to be the simplest way possible to bring epoll and kqueue like system calls into Ruby, where they could be used by people implementing something like the Reactor pattern or EventMachine. It's not intended to put a pretty face on it (just as Kernel#select wasn't) but to minimize the amount of C and Ruby glue to access the underlying system calls. I would like to see a way to pick a different I/O multiplexing mechanism > at runtime. IMO the problem isn't what Kernel#select does (you don't > have to use it), but what rb_thread_select does (you aren't given a > choice here). Kernel#select scales O(n) due to the need for the kernel to process the list of file descriptors to monitor with each system call. With stateful interfaces like epoll and kqueue, the scalability is O(1) as the kernel does its event reporting on-the-fly and returns all events to the queue where they can be retrieved via a system call. Integrating ruby's event loop with a library that uses a > different mechanism requires that the library be able to use ruby's I/O > multiplexing system, but may not be possible or desirable, especially if > ruby is embedded in an application. Unless I'm misunderstanding the way rb_thread_select and rb_thread_wait_fd_rw are implemented (both tie into a single underlying do_select call), a different mechanism could operate alongside select calls provided it only blocked for the scheduler quantum. This way calls to select and a stateful event monitoring interface could alternate within Ruby's event loop, allowing both to run (effectively) simultaneously. Implementing the rb_thread_select and rb_thread_wait_fd_rw calls with a stateful interface like epoll or kqueue would probably not be beneficial because the set of monitored file descriptors must be processed with each call anyway (and are subject to change). I'd suggest these interfaces remain select() based for the time being (as they use select's semantics anyway) although they could potentially be optimized with poll(), although benchmarking would be required to determine if a poll()-based implementation were actually advantageous. epoll and kqueue both provide extremely powerful interfaces which could serve as the central underlying system call behind an event loop, however in the case of Ruby this would require a dramatic rearchitecting of the way the event loop functions. That's why I'm suggesting something dramatically simpler: providing a simple bridge between these system calls and Ruby which can run within the existing event system. I'm thinking of putting together a quick patch would provide basic epoll support through my suggested interface. Would that be helpful in evaluating this idea? I could also write a small benchmarking program to compare Kernel#select performance to a stateful interface. It's been suggested that Ruby use WaitForMultipleObjects on win32 (see > [ruby-talk:47186]). There are pros and cons to doing this, but I'm not > qualified to enumerate them. Either of these are going to be suboptimal on Windows due to the intrinsic 64 object limit on these calls. The proper solution to this on Windows would be to move to an event completion-based interface which could be used in conjunction with Win32 I/O completion ports, however the I/O completion model has inherent problems as well, particularly when implementing buffered readers. IOCP certainly isn't suitable for implementing either rb_thread_select or rb_thread_wait_fd_rw. -- Tony Arcieri ClickCaster, Inc. tony@clickcaster.com