[#11569] sprintf: Format specifier tokens aren't checked well enough — Florian Gross <florgro@...>
Hi,
Something seems to be broken for %u with negative bignums:
Hi,
[#11576] Array#delete is destructive, String#delete isn't — Florian Gross <florgro@...>
Hi,
[#11585] Array#values_at bug? — "John Lam (CLR)" <jflam@...>
a =3D [1,2,3,4]
[#11588] Timeout doesn't work correctly under windows when executing complex regexp. — "yuanyi zhang" <zhangyuanyi@...>
To repeat the problem, just execute the below code(I've run it with
Hi,
[#11597] Optimizing Symbol#to_proc — murphy <murphy@...>
Greetings to the list!
[#11600] Bug in Kernel#method objects that call super? — Charles Oliver Nutter <charles.nutter@...>
This seems very wrong to me. Calling through a method object should
[#11609] GetoptLong w/ DSL — TRANS <transfire@...>
Hi--
Hi,
On 7/8/07, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
[#11611] Import gem to Ruby 1.9 — SASADA Koichi <ko1@...>
Hi,
On Jul 8, 2007, at 00:49, SASADA Koichi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On 7/17/07, NAKAMURA, Hiroshi <nakahiro@sarion.co.jp> wrote:
On 7/17/07, Ryan Davis <ryand-ruby@zenspider.com> wrote:
On Jul 17, 2007, at 01:26, NAKAMURA, Hiroshi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On 7/18/07, NAKAMURA, Hiroshi <nakahiro@sarion.co.jp> wrote:
On 7/22/07, Chad Fowler <chad@chadfowler.com> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Jul 24, 2007, at 06:44, NAKAMURA, Hiroshi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
On Sep 30, 2007, at 22:56 , NAKAMURA, Hiroshi wrote:
On Oct 1, 2007, at 09:57 , Eric Hodel wrote:
Hi,
-----BEGIN PGP SIGNED MESSAGE-----
On Oct 13, 2007, at 02:00 , NAKAMURA, Hiroshi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Oct 13, 2007, at 08:00 , NAKAMURA, Hiroshi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Oct 15, 2007, at 07:14 , NAKAMURA, Hiroshi wrote:
On 10/17/07, Eric Hodel <drbrain@segment7.net> wrote:
Leonard Chin wrote:
On Oct 17, 2007, at 12:28 , Charles Oliver Nutter wrote:
Eric Hodel wrote:
Charles Oliver Nutter wrote:
On Oct 17, 2007, at 14:53 , Charles Oliver Nutter wrote:
Evan Phoenix wrote:
In article <4710890A.3020009@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <4718708D.3050001@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <471A1720.4080606@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <471CAFE0.2070104@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <471D4D1F.5050006@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <471D5665.5040209@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <471FF3B1.3060103@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <47200D74.6020202@sarion.co.jp>,
On Oct 13, 2007, at 01:24 , Yukihiro Matsumoto wrote:
In article <4722FEA4.6040509@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <472532B0.2060600@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <4726C4EF.7060605@sarion.co.jp>,
[#11635] to_str conversions and exceptions — "John Lam (CLR)" <jflam@...>
Silly question of the day:
[#11642] Re: Proposal: runtime-modifying Kernel methods should be keywords — "Marcel Molina Jr." <marcel@...>
On Fri, Jul 13, 2007 at 03:02:06PM +0900, Charles Oliver Nutter wrote:
Calamitas wrote:
I was going to reply to this In a detailed manner, but I'm not. (I
Ryan Davis wrote:
Ryan Davis wrote:
On 18/07/07, Ryan Davis <ryand-ruby@zenspider.com> wrote:
> PS: Incidentally... The comment on the blog entry you gave above
[#11645] Re: Proposal: runtime-modifying Kernel methods should be keywords — Charles Oliver Nutter <charles.nutter@...>
Charles Oliver Nutter wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
On Jul 13, 2007, at 2:09 AM, Nobuyoshi Nakada wrote:
James Edward Gray II schrieb:
On Sep 10, 2007, at 11:19 PM, murphy wrote:
[#11648] Re: Proposal: runtime-modifying Kernel methods should be keywords — "John Lam" <jlam@...>
> 3. These methods are exactly the ones that complicate optimizing Ruby in
On 7/13/07, John Lam <jlam@iunknown.com> wrote:
TRANS wrote:
[#11673] Inheritable mixin — TRANS <transfire@...>
Concept for Ruby 2.0...
[#11691] rb_cstr_to_inum use of strtoul as an optimization has unfortunate side effects — Florian Gross <florgro@...>
Hi,
On another note, String#oct allows the base to be changed by a base
Hi,
[#11692] String#rindex(other) doesn't try to convert other via to_str — Florian Gross <florgro@...>
Hi,
[#11739] Re: Proposal: runtime-modifying Kernel methods should be keywords — Brent Roman <brent@...>
Just a follow up to on the idea of disallowing the
Brent Roman wrote:
On 17/07/07, Charles Oliver Nutter <charles.nutter@sun.com> wrote:
[#11754] indentation / emacs woes — Ryan Davis <ryand-ruby@...>
OK. Can someone give me the tweaks I need to make ruby source read
[#11756] threads and heavy io on osx and linux — "ara.t.howard" <Ara.T.Howard@...>
Hung on the 13th run.
[#11795] What libraries to be unbundled? — "NAKAMURA, Hiroshi" <nakahiro@...>
-----BEGIN PGP SIGNED MESSAGE-----
I don't think that json should be unbundled. It is the interchange
On Jul 24, 2007, at 1:39 PM, David Flanagan wrote:
James Edward Gray II wrote:
On 7/24/07, David Flanagan <david@davidflanagan.com> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Oct 1, 2007, at 1:07 AM, NAKAMURA, Hiroshi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
[#11821] Columnize, irb, and ruby-debug — "Rocky Bernstein" <rocky.bernstein@...>
I've been working on/with Kent SIbilev's ruby-debug. The current sources in
[#11826] Rdoc allowing arbitrary HTML — "Robert Dober" <robert.dober@...>
Hi all
[PATCH] Problem with ruby 1.8.6-p36 (and p39) on Tiger
Hi,
> The problem can be easily reproduced under Tiger with a one-liner:
> % ruby -ve 'require "timeout" ; Timeout.timeout(5) { puts `df -h` }'
> ruby 1.8.6 (2007-06-07 patchlevel 36) [i686-darwin8.10.1]
> /usr/local/lib/ruby/1.8/timeout.rb:54: execution expired (Timeout::Error)
> from /usr/local/lib/ruby/1.8/timeout.rb:56:in `timeout'
> from -e:1
I investigated more and the function that blocks is
rb_thread_cancel_timer (eval.c). This function is called in
proc_exec_v (process.h) only in 1.8.6-p36 and -p39, not in the 1.8
branch nor in 1.8.6-p0. And it is empty if pthread is not enabled.
So I investigated a little more to see what was wrong in this
rb_thread_cancel_timer function, and why everything works fine under
systems other than Tiger (Linux, Leopard...). The reason seems to be
due to a bug in Tiger. Here is a little step-by-step of what happens
when calling in Ruby system() or ``:
- the process is forked, the parent does not do much but the child do
what follows ;
- the rb_thread_cancel_timer is called to kill the timer thread.
However, as this process is a child created using fork, it has no
timer thread (fork kills all threads in the child process except the
current one), and the time_thread references a thread in the parent.
So on most systems, the pthread_cancel and pthread_join done by
rb_thread_cancel_timer both fail. But under Tiger pthread_cancel
SUCCEEDS and pthread_join HANGS.
However, after seeing in the ChangeLog why this call to
rb_thread_cancel_timer is done (cf ruby-dev:30581), it's clear that
this cannot be simply removed. However it should not be called just in
a child created by fork in C. The simplest way may be to just put
time_thread_alive_p to false in the children of forks created to start
a process (for example in pipe_open in io.c or in rb_f_system in
process.c). However I do not know well enough Ruby to be 100 % sure of
this.
I attached a small patch using pthread_atfork to do this and it solves
at least on my small tests the problem with system() or `` in
Timeout.timeout, and the problem mentioned in ruby-dev:30581 is still
corrected. But I think it needs some reviews to be sure it does not
add any problem.
Cheers,
Vincent Isambart
Attachments (1)
Index: eval.c
===================================================================
--- eval.c (revision 12679)
+++ eval.c (working copy)
@@ -11826,6 +11826,12 @@
{
}
+static void
+rb_child_at_fork(void)
+{
+ time_thread_alive_p = 0;
+}
+
void
rb_thread_cancel_timer()
{
@@ -11920,6 +11926,7 @@
#ifdef _THREAD_SAFE
pthread_create(&time_thread, 0, thread_timer, 0);
time_thread_alive_p = 1;
+ pthread_atfork(NULL, NULL, rb_child_at_fork);
#else
rb_thread_start_timer();
#endif