[#11852] continuations in Ruby 1.9? — David Flanagan <david@...>
In a comment on my recent blog post
On 8/6/07, David Flanagan <david@davidflanagan.com> wrote:
[#11860] Is this really what we want? — James Edward Gray II <james@...>
I'm investigating some recent breakage in FasterCSV and have tracking
Hi,
[#11871] ruby-openssl: == incorrect for X509-Subjects — Hadmut Danisch <hadmut@...>
Hi,
[#11876] priorities of newly-created threads — David Flanagan <david@...>
Hi,
Hi,
[#11886] Core dump with simple web scraper when run via cron — Daniel Berger <Daniel.Berger@...>
Hi all,
[#11890] Ruby and Solaris door library — "Hiro Asari" <asari.ruby@...>
Hi, there. This is my first patch against ruby. I think I followed
Hiro Asari wrote:
On 8/13/07, Daniel Berger <djberg96@gmail.com> wrote:
> -----Original Message-----
On 8/15/07, Berger, Daniel <Daniel.Berger@qwest.com> wrote:
[#11893] UDP sockets raise exception on MIPS platform — Brian Candler <B.Candler@...>
I am running ruby-1.8.6 under OpenWrt (*), which is a small MIPS platform
[#11894] IO#seek and whence problem — Bertram Scharpf <lists@...>
[#11899] pack/unpack 64bit Integers — Hadmut Danisch <hadmut@...>
Hi,
On Wed, Aug 15, 2007 at 06:50:01AM +0900, Hadmut Danisch wrote:
On Wed, Aug 15, 2007 at 02:45:20PM +0900, Brian Candler wrote:
On Fri, Aug 17, 2007 at 05:17:09PM +0200, Hadmut Danisch wrote:
Dumb question of the day: are Kernel#proc and Kernel#lambda identical?
> Dumb question of the day: are Kernel#proc and Kernel#lambda identical?
[#11900] missing bison, gperf not detected, do I need ruby to build ruby? — "Gabor Szabo" <szabgab@...>
Hi,
On Wed, 15 Aug 2007, Gabor Szabo wrote:
> > It seems ./configure did not detect the fact that bison was missing from
[#11930] Bug in select? — "Robert Dober" <robert.dober@...>
Hi
[#11945] Smoke testing Ruby — "Gabor Szabo" <szabgab@...>
Hi,
On 8/21/07, Gabor Szabo <szabgab@gmail.com> wrote:
Ruby used to have the Triple-R project based on Rubicon: see
Hugh Sasse wrote:
[#11947] Splatting MatchData bug? — Jos Backus <jos@...>
$ /tmp/ruby-1.9/bin/ruby -v
[#11948] Fibers in Ruby 1.9? — David Flanagan <david@...>
I just noticed that my ruby1.9 build of August 17th includes a Fiber
David Flanagan wrote:
On 8/22/07, Daniel Berger <djberg96@gmail.com> wrote:
On Wed, 22 Aug 2007 20:50:12 +0900, "Francis Cianfrocca" <garbagecat10@gmail.com> wrote:
On 8/22/07, MenTaLguY <mental@rydia.net> wrote:
On Thu, 23 Aug 2007 00:57:01 +0900, "Francis Cianfrocca" <garbagecat10@gmail.com> wrote:
[#11960] coroutines with Fiber::Core — David Flanagan <david@...>
The following code works on Linux with today's snapshot of 1.9:
Hi,
[#11981] Inverse Square Root — "Dave Pederson" <dave.pederson@...>
Hello-
[#11988] String#length not working properly in Ruby 1.9 — "Vincent Isambart" <vincent.isambart@...>
I saw that Matz just merged his M17N implementation in the trunk.
Hi,
On Sat, 25 Aug 2007 10:54:20 +0200, Yukihiro Matsumoto
Hi,
On 8/25/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
Hi,
On 8/25/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
[#12025] how to build ruby on vms — "toni" <toni@...>
Hi,
[#12040] Pragmas in Ruby 1.9 — David Flanagan <david@...>
Hi,
[#12042] Encodings of string literals; explicit codepoint escapes? — David Flanagan <david@...>
This message contains queries that probably only Matz can answer:
Hi,
Yukihiro Matsumoto wrote:
On 8/31/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
Re: Thread.abort_on_exception= in Ruby 1.9
Hi,
At Thu, 9 Aug 2007 09:06:30 +0900,
Yukihiro Matsumoto wrote in [ruby-core:11877]:
> |Thread.abort_on_exception=true is not working the way I would expect it
> |to in Ruby 1.9 (my build is from 7/24).
>
> The 1.9 does not handle abort_on_exception yet. It should be before
> the final release. I file this and [ruby-core:11873] (Thread#join
> giving wrong backtrace) as bugs.
You meant [ruby-core:11874]? Those stackframes seem to be
optimized out.
Index: thread.c
===================================================================
--- thread.c (revision 12908)
+++ thread.c (working copy)
@@ -278,4 +278,7 @@ thread_cleanup_func(void *th_ptr)
}
+extern void ruby_error_print(void);
+static VALUE rb_thread_raise(int, VALUE *, rb_thread_t *);
+
static int
thread_start_func_2(rb_thread_t *th, VALUE *stack_start, VALUE *register_stack_start)
@@ -285,4 +288,7 @@ thread_start_func_2(rb_thread_t *th, VAL
rb_proc_t *proc;
rb_thread_t *join_th;
+ rb_thread_t *main_th;
+ VALUE errinfo = Qnil;
+
th->machine_stack_start = stack_start;
#ifdef __ia64
@@ -314,4 +320,10 @@ thread_start_func_2(rb_thread_t *th, VAL
}
else {
+ if (th->safe_level < 4 &&
+ (th->vm->thread_abort_on_exception ||
+ th->abort_on_exception || RTEST(ruby_debug))) {
+ errinfo = th->errinfo;
+ if (NIL_P(errinfo)) errinfo = rb_errinfo();
+ }
th->value = Qnil;
}
@@ -322,7 +334,11 @@ thread_start_func_2(rb_thread_t *th, VAL
st_delete_wrap(th->vm->living_threads, th->self);
+ main_th = th->vm->main_thread;
+ if (th == main_th) errinfo = Qnil;
+
/* wake up joinning threads */
join_th = th->join_list_head;
while (join_th) {
+ if (join_th == main_th) errinfo = Qnil;
rb_thread_interrupt(join_th);
join_th = join_th->join_list_next;
@@ -332,4 +348,10 @@ thread_start_func_2(rb_thread_t *th, VAL
thread_cleanup_func(th);
native_mutex_unlock(&th->vm->global_interpreter_lock);
+
+ if (!NIL_P(errinfo)) {
+ /* exit on main_thread */
+ rb_thread_raise(1, &errinfo, main_th);
+ }
+
return 0;
}
--
Nobu Nakada