[#1491] bug — Mathieu Bouchard <matju@...>
6 messages
2003/09/01
[#1492] non-blocking mode behavior (Re: bug)
— nobu.nokada@...
2003/09/01
Hi,
[#1512] New tests — Dave Thomas <Dave@...>
I was looking through the new test/ruby/* stuff just now, and notices
6 messages
2003/09/05
[#1533] GC disable / enable question — Torsten Rueger <torsten.rueger@...>
Moi,
7 messages
2003/09/17
[#1534] Re: GC disable / enable question
— nobu.nokada@...
2003/09/17
Hi,
[#1541] How to debug ? — Torsten Rueger <torsten.rueger@...>
Moi,
6 messages
2003/09/19
[#1542] Re: How to debug ?
— ts <decoux@...>
2003/09/19
>>>>> "T" == Torsten Rueger <torsten.rueger@hiit.fi> writes:
[#1551] Hashes as keys — "Nathaniel Talbott" <nathaniel@...>
I was just playing around with Hash#hash and discovered that you can't use a
13 messages
2003/09/23
[#1552] Re: Hashes as keys
— Jim Freeze <jim@...>
2003/09/23
On Wednesday, 24 September 2003 at 6:21:33 +0900, Nathaniel Talbott wrote:
[#1556] ostruct.rb patch — "Nathaniel Talbott" <nathaniel@...>
I've been finding OpenStruct to be very useful lately, and then I discovered
9 messages
2003/09/24
[#1557] Re: ostruct.rb patch
— "NAKAMURA, Hiroshi" <nahi@...>
2003/09/24
Hi, Nathaniel,
Automatic vars and setjmp
From:
Mauricio Fern疣dez <batsman.geo@...>
Date:
2003-09-25 18:34:52 UTC
List:
ruby-core #1574
In eval.c:
rb_callcc
if (THREAD_SAVE_CONTEXT(th)) {
return th->result;
}
rb_thread_raise
if (!rb_thread_dead(curr_thread)) {
if (THREAD_SAVE_CONTEXT(curr_thread)) {
return th->thread;
}
}
Is that safe? Couldn't th be stored in a register and hence be undefined
when returning from a longjmp in THREAD_SAVE_CONTEXT?
diff -ru6 ruby-1.8.0.old/eval.c rubyx/eval.c
--- ruby-1.8.0.old/eval.c 2003-09-25 19:57:31.000000000 +0200
+++ rubyx/eval.c 2003-09-25 20:26:37.000000000 +0200
@@ -9648,13 +9648,13 @@
}
static VALUE
rb_thread_raise(argc, argv, th)
int argc;
VALUE *argv;
- rb_thread_t th;
+ volatile rb_thread_t th;
{
if (rb_thread_dead(th)) return Qnil;
if (curr_thread == th) {
rb_f_raise(argc, argv);
}
@@ -9819,13 +9819,13 @@
static VALUE
rb_callcc(self)
VALUE self;
{
volatile VALUE cont;
- rb_thread_t th;
+ volatile rb_thread_t th;
struct tag *tag;
struct RVarmap *vars;
THREAD_ALLOC(th);
cont = Data_Wrap_Struct(rb_cCont, thread_mark, thread_free, th);
--
_ _
| |__ __ _| |_ ___ _ __ ___ __ _ _ __
| '_ \ / _` | __/ __| '_ ` _ \ / _` | '_ \
| |_) | (_| | |_\__ \ | | | | | (_| | | | |
|_.__/ \__,_|\__|___/_| |_| |_|\__,_|_| |_|
Running Debian GNU/Linux Sid (unstable)
batsman dot geo at yahoo dot com
But what can you do with it?
-- ubiquitous cry from Linux-user partner