[#28561] Ruby::DL vs Ruby::FFI — Aston <blackapache512-ticket@...>

Ruby.DL and FFI libraries are great for programmers like me who are not internet programmers, but are more interested in scientific and number processing etc.

11 messages 2010/03/08

[#28686] trunk (26947) build fail with msys/mingw/vista — Jon <jon.forums@...>

I get the following build failure when msysgit's "c:\git\cmd" dir is on PATH.

8 messages 2010/03/16

[#28687] [Bug #2973] rb_bug - Segmentation fault - error.c:213 — rudolf gavlas <redmine@...>

Bug #2973: rb_bug - Segmentation fault - error.c:213

10 messages 2010/03/16

[#28735] [Bug #2982] Ruby tries to link with both openssl and readline — Lucas Nussbaum <redmine@...>

Bug #2982: Ruby tries to link with both openssl and readline

16 messages 2010/03/18

[#28736] [Bug #2983] Ruby (GPLv2 only) tries to link to with readline (now GPLv3) — Lucas Nussbaum <redmine@...>

Bug #2983: Ruby (GPLv2 only) tries to link to with readline (now GPLv3)

10 messages 2010/03/18

[#28907] [Bug #3000] Open SSL Segfaults — Christian Höltje <redmine@...>

Bug #3000: Open SSL Segfaults

19 messages 2010/03/23

[#28924] [Bug #3005] Ruby core dump - [BUG] rb_sys_fail() - errno == 0 — Sebastian YEPES <redmine@...>

Bug #3005: Ruby core dump - [BUG] rb_sys_fail() - errno == 0

10 messages 2010/03/24

[#28954] [Feature #3010] slow require gems in ruby 1.9.1 — Miao Jiang <redmine@...>

Feature #3010: slow require gems in ruby 1.9.1

15 messages 2010/03/24

[#29179] [Bug #3071] Convert rubygems and rdoc to use psych — Aaron Patterson <redmine@...>

Bug #3071: Convert rubygems and rdoc to use psych

10 messages 2010/03/31

[ruby-core:28866] Re: st.c: pool allocator for tables and entries

From: Eric Wong <normalperson@...>
Date: 2010-03-22 16:37:13 UTC
List: ruby-core #28866
Eric Wong <normalperson@yhbt.net> wrote:
> The only other downside is that memory used for each type of struct
> cannot be used anything else, nor released back to the OS (though some
> malloc implementations don't do this anyways).

And there was a leak in the original patch, this fixes it
since name##_head can be populated during GC when ruby_xmalloc
is called.

diff --git a/st.c b/st.c
index cbc57d8..54ebee9 100644
--- a/st.c
+++ b/st.c
@@ -57,6 +57,11 @@ static void more_##name(void) \
     long i; \
     struct name##_alloc_ptr *cur, *tmp; \
     tmp = ruby_xmalloc((size / sizeof(type)) * sizeof(type)); \
+    if (name##_head) { \
+        /* malloc called GC and released memory for us */ \
+        ruby_xfree(tmp); \
+        return; \
+    } \
     name##_head = tmp; \
     for (i = size / sizeof(type); --i >= 0; ) { \
 	cur = tmp++; \
-- 
Eric Wong

In This Thread