[#27380] [Bug #2553] Fix pthreads slowness by eliminating unnecessary sigprocmask calls — Dan Peterson <redmine@...>

Bug #2553: Fix pthreads slowness by eliminating unnecessary sigprocmask calls

21 messages 2010/01/03

[#27437] [Feature #2561] 1.8.7 Patch reduces time cost of Rational operations by 50%. — Kurt Stephens <redmine@...>

Feature #2561: 1.8.7 Patch reduces time cost of Rational operations by 50%.

9 messages 2010/01/06

[#27447] [Bug #2564] [patch] re-initialize timer_thread_{lock,cond} after fork — Aliaksey Kandratsenka <redmine@...>

Bug #2564: [patch] re-initialize timer_thread_{lock,cond} after fork

18 messages 2010/01/06

[#27635] [Bug #2619] Proposed method: Process.fork_supported? — Hongli Lai <redmine@...>

Bug #2619: Proposed method: Process.fork_supported?

45 messages 2010/01/20
[#27643] [Feature #2619] Proposed method: Process.fork_supported? — Luis Lavena <redmine@...> 2010/01/21

Issue #2619 has been updated by Luis Lavena.

[#27678] Re: [Feature #2619] Proposed method: Process.fork_supported? — Yukihiro Matsumoto <matz@...> 2010/01/22

Hi,

[#27684] Re: [Feature #2619] Proposed method: Process.fork_supported? — Charles Oliver Nutter <headius@...> 2010/01/22

On Thu, Jan 21, 2010 at 11:27 PM, Yukihiro Matsumoto <matz@ruby-lang.org> w=

[#27708] Re: [Feature #2619] Proposed method: Process.fork_supported? — Yukihiro Matsumoto <matz@...> 2010/01/22

Hi,

[#27646] Re: [Bug #2619] Proposed method: Process.fork_supported? — Tanaka Akira <akr@...> 2010/01/21

2010/1/21 Hongli Lai <redmine@ruby-lang.org>:

[#27652] Re: [Bug #2619] Proposed method: Process.fork_supported? — Hongli Lai <hongli@...99.net> 2010/01/21

On 1/21/10 5:20 AM, Tanaka Akira wrote:

[#27653] Re: [Bug #2619] Proposed method: Process.fork_supported? — Tanaka Akira <akr@...> 2010/01/21

2010/1/21 Hongli Lai <hongli@plan99.net>:

[#27662] Re: [Bug #2619] Proposed method: Process.fork_supported? — Vladimir Sizikov <vsizikov@...> 2010/01/21

On Thu, Jan 21, 2010 at 10:53 AM, Tanaka Akira <akr@fsij.org> wrote:

[#27698] [Bug #2629] ConditionVariable#wait(mutex, timeout) should return whether the condition was signalled, not the waited time — Hongli Lai <redmine@...>

Bug #2629: ConditionVariable#wait(mutex, timeout) should return whether the condition was signalled, not the waited time

8 messages 2010/01/22

[#27722] [Feature #2635] Unbundle rdoc — Yui NARUSE <redmine@...>

Feature #2635: Unbundle rdoc

14 messages 2010/01/23

[#27757] [Bug #2638] ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located. — Joel Soete <redmine@...>

Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.

10 messages 2010/01/24

[#27778] [Bug #2641] Seg fault running miniruby during ruby build on Haiku — Alexander von Gluck <redmine@...>

Bug #2641: Seg fault running miniruby during ruby build on Haiku

10 messages 2010/01/25

[#27791] [Bug #2644] memory over-allocation with regexp — Greg Hazel <redmine@...>

Bug #2644: memory over-allocation with regexp

12 messages 2010/01/25

[#27794] [Bug #2647] Lack of testing for String#split — Hugh Sasse <redmine@...>

Bug #2647: Lack of testing for String#split

14 messages 2010/01/25

[#27912] [Bug #2669] mkmf find_executable doesn't find .bat files — Roger Pack <redmine@...>

Bug #2669: mkmf find_executable doesn't find .bat files

11 messages 2010/01/27

[#27930] [Bug:trunk] some behavior changes of lib/csv.rb between 1.8 and 1.9 — Yusuke ENDOH <mame@...>

Hi jeg2, or anyone who knows the implementation of FasterCSV,

15 messages 2010/01/28
[#27931] Re: [Bug:trunk] some behavior changes of lib/csv.rb between 1.8 and 1.9 — James Edward Gray II <james@...> 2010/01/28

On Jan 28, 2010, at 10:51 AM, Yusuke ENDOH wrote:

[ruby-core:27406] Re: [ANN] openssl-nonblock 0.2.1: moving towards compatibility with Ruby 1.9.2

From: Young Hyun <youngh@...>
Date: 2010-01-05 02:17:39 UTC
List: ruby-core #27406
On Dec 15, 2009, at 11:04 PM, Tony Arcieri wrote:

> I implement the following methods as part of OpenSSL::SSL::SSLSocket:
> 	=95 connect_nonblock: connect to an SSL server
> 	=95 accept_nonblock: accept an SSL connection
> 	=95 read_nonblock(length): read up to the given length, but =
don=92t block
> 	=95 write_nonblock(data): write as much of the given data as =
possible =20
> without blocking
> I raise the following exceptions:
>
> 	=95 IO::WaitReadable: this means OpenSSL needs to read more data =
to =20
> complete the
> given request. You should wait until the underlying IO object becomes
> readable again before retrying the request.
> 	=95 IO::WaitWritable similar to above, except OpenSSL is trying =
to =20
> write data to
> the IO object, and the IO object is not presently writable. You =20
> should wait
> until the object becomes writable again before retrying the request.
> Does this sound like I am properly matching what is available in =20
> Ruby 1.9.2?

I compared the behavior of openssl-nonblock to Ruby 1.9.2 (but not =20
exhaustively), and the main issue I saw was the use of a different =20
underlying exception object.  Ruby 1.9.2 raises an SSLError while =20
openssl-nonblock raises its own ReadAgain/WriteAgain object extended =20
with IO::WaitReadable/IO::WaitWritable.  Now, if all one cares about =20
is being notified that the operation would block (that is, if one is =20
just rescuing WaitReadable/WaitWritable), then openssl-nonblock and =20
Ruby 1.9.2 are indistinguishable.  However, it's possible for someone =20=

to rescue SSLError directly, and then the difference shows up.

I tried creating a patch to make openssl-nonblock use SSLError just =20
like Ruby 1.9.2, but that seemed like it was going to be more work =20
than I expected (partly because somethings are defined static inside =20
the OpenSSL extension).

I'm not sure how important this difference is in practice, because it =20=

mainly affects a narrow use case--running a program written for Ruby =20
1.9.2 or later on an older Ruby (that is, backporting features).  =20
That's a different use case than supporting nonblocking OpenSSL I/O on =20=

older Ruby versions in a *forward* compatible manner (obviously, for =20
portability, such code should not rescue ReadAgain/WriteAgain, only =20
WaitReadable/WaitWritable).

  --Young


In This Thread

Prev Next