[#4065] Surprise in Time#sec — Steven Jenkins <steven.jenkins@...>
This bit me:
[#4067] Segfault in Thread#initialize / caller — Florian Gro<florgro@...>
Moin!
[#4076] Ruby/DL — Jamis Buck <jamis_buck@...>
I recently used Ruby/DL to create bindings to the SQLite3 embedded
On Tue, Jan 04, 2005 at 02:53:49AM +0900, Jamis Buck wrote:
>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:
On Wed, Jan 05, 2005 at 03:05:48AM +0900, ts wrote:
>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:
On Thu, Jan 06, 2005 at 01:10:34AM +0900, ts wrote:
>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:
On Thu, Jan 06, 2005 at 06:57:57PM +0900, ts wrote:
>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:
On Fri, Jan 07, 2005 at 12:06:16AM +0900, ts wrote:
>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:
ts wrote:
[#4116] Test::Unit::Collector::Dir won't work with code that modifies $LOAD_PATH — Eric Hodel <drbrain@...7.net>
Any test code that depends upon modifications of $: fails when used
Hi,
On 11 Jan 2005, at 04:14, nobu.nokada@softhome.net wrote:
On 11 Jan 2005, at 09:39, Eric Hodel wrote:
On Sat, 15 Jan 2005 04:06:10 +0900, Eric Hodel <drbrain@segment7.net> wrote:
On Fri, 14 Jan 2005 23:48:58 -0500, Nathaniel Talbott
On Thu, 27 Jan 2005 17:17:14 -0500, Nathaniel Talbott
[#4146] The face of Unicode support in the future — Charles O Nutter <headius@...>
Hello Rubyists!
Hi,
Yukihiro Matsumoto <matz@ruby-lang.org> writes:
Paul Brannan <pbrannan@atdesk.com> writes:
Hi,
On Mon, Jan 10, 2005 at 11:53:48PM +0900, Yukihiro Matsumoto wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
On Wed, Jan 12, 2005 at 02:13:35PM +0900, Yukihiro Matsumoto wrote:
Hi,
[#4189] Authenticated proxy support for open-uri — Neil Kohl <nakohl@...>
Hello!
[#4232] Carriage return on shebang — Florian Gro<florgro@...>
Moin.
[#4242] tracer.rb: Do not list pseudo source lines of binary extensions — Florian Gro<florgro@...>
Moin.
[#4243] Patch that enables https in open-uri.rb — Michael Neumann <mneumann@...>
Hi,
In article <41E93F42.9090705@ntecs.de>,
Tanaka Akira wrote:
[#4269] Re: The face of Unicode support in the future — Wes Nakamura <wknaka@...>
Hi,
Hi,
Yukihiro Matsumoto wrote:
Hi,
[#4296] parse_c.rb: allow whitespace after function names — Tilman Sauerbeck <tilman@...>
Hi,
Hi,
Yukihiro Matsumoto <matz@ruby-lang.org> [2005-01-21 17:43]:
[#4311] RFE: Enumerable#group_by, Array#^ — Florian Gro<florgro@...>
Moin.
[#4323] test/unit doesn't rescue a Exception — Tanaka Akira <akr@...17n.org>
test/unit doesn't rescue a Exception in a test method, as follows.
In article <87is5jb46q.fsf@serein.a02.aist.go.jp>,
On 9/1/06, Tanaka Akira <akr@fsij.org> wrote:
On Sep 2, 2006, at 6:34 PM, Nathaniel Talbott wrote:
In article <A604C0B3-95ED-4B9B-866C-79A2C7D5E3C4@segment7.net>,
On Sep 2, 2006, at 9:39 PM, Tanaka Akira wrote:
In article <622DAC7E-55DB-4854-B82B-A037CE9C75EF@segment7.net>,
In article <87ac5hv4bo.fsf@fsij.org>,
On Sep 3, 2006, at 8:21 AM, Tanaka Akira wrote:
[#4332] IO#clearerr missing in action — Eric Hodel <drbrain@...7.net>
I wanted to implement tail(1) in ruby cleanly, but found the best I
[#4335] When will Object#type disappear? — "David A. Black" <dblack@...>
Hi --
Re: Ruby/DL
Hi,
At Mon, 10 Jan 2005 19:23:03 +0900,
ts wrote in [ruby-core:04171]:
> n> There are some kinds of callbacks, as mentioned in [ruby-core:04160].
>
> Well, I've no idea actually about this, but I want to know : it's
> voluntary the memory leak in sym.c, or I'm wrong and it don't exist a
> memory leak ?
Do you mean, in rb_dlsym_call(), the case that "to_ptr"
conversion failed, and that copied strings for 's' arguments
don't get freed?
Index: ext/dl/sym.c
===================================================================
RCS file: /cvs/ruby/src/ruby/ext/dl/sym.c,v
retrieving revision 1.27
diff -U2 -p -r1.27 sym.c
--- ext/dl/sym.c 21 Dec 2004 23:34:43 -0000 1.27
+++ ext/dl/sym.c 10 Jan 2005 13:47:03 -0000
@@ -267,10 +267,9 @@ rb_dlsym_inspect(VALUE self)
str_size = RSTRING(proto)->len + 100;
- str = dlmalloc(str_size);
- snprintf(str, str_size - 1,
+ val = rb_tainted_str_new(0, str_size);
+ snprintf(RSTRING(val)->ptr, str_size,
"#<DL::Symbol:0x%p func=0x%p '%s'>",
sym, sym->func, RSTRING(proto)->ptr);
- val = rb_tainted_str_new2(str);
- dlfree(str);
+ RSTRING(val)->len = strlen(RSTRING(val)->ptr);
return val;
@@ -467,5 +466,14 @@ rb_dlsym_call(int argc, VALUE argv[], VA
dargs = ALLOC_N(ANY_TYPE, sym->len - 1);
dtypes = ALLOC_N(int, sym->len - 1);
-#define FREE_ARGS {xfree(args); xfree(dargs); xfree(dtypes);}
+#define FREE_ARGS_FROM_I do { \
+ do { \
+ if( dtypes[i] == 's' && ANY2S(args[i]) ){ \
+ dlfree((void *)ANY2S(args[i])); \
+ ANY2S(args[i]) = 0; \
+ } \
+ } while (++i <= sym->len - 2); \
+ xfree(args); xfree(dargs); xfree(dtypes); \
+ } while (0)
+#define FREE_ARGS do {i = 0; FREE_ARGS_FROM_I; } while (0)
for( i = sym->len - 2; i >= 0; i-- ){
@@ -490,4 +498,5 @@ rb_dlsym_call(int argc, VALUE argv[], VA
pval = rb_funcall(argv[i], rb_intern("to_ptr"), 0);
if( !rb_obj_is_kind_of(pval, rb_cDLPtrData) ){
+ FREE_ARGS_FROM_I;
rb_raise(rb_eDLTypeError, "unexpected type of argument #%d", i);
}
@@ -596,5 +605,5 @@ rb_dlsym_call(int argc, VALUE argv[], VA
break;
default:
- FREE_ARGS;
+ FREE_ARGS_FROM_I;
rb_raise(rb_eDLTypeError,
"unknown type '%c' of the return value.",
@@ -923,9 +932,10 @@ rb_dlsym_call(int argc, VALUE argv[], VA
});
dlfree((void*)ANY2S(args[i]));
+ ANY2S(args[i]) = 0;
break;
default:
{
char c = dtypes[i];
- FREE_ARGS;
+ FREE_ARGS_FROM_I;
rb_raise(rb_eRuntimeError, "unknown argument type '%c'", i, c);
}
@@ -943,4 +953,5 @@ rb_dlsym_call(int argc, VALUE argv[], VA
#undef FREE_ARGS
+#undef FREE_ARGS_FROM_I
return rb_assoc_new(val,dvals);
}
--
Nobu Nakada