Actions
Bug #4020
closedFiber#initialize causes memory leaks
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.3dev (2010-11-03 trunk 29679) [i686-linux]
Backport:
Description
=begin
遠藤です。
Fiber#initialize を複数回呼ぶとメモリリークします。
f = Fiber.new {}
loop { f.send(:initialize) { } } #=> メモリ無限消費
diff --git a/cont.c b/cont.c
index b0b3f41..56ae843 100644
--- a/cont.c
+++ b/cont.c
@@ -971,6 +971,10 @@ fiber_t_alloc(VALUE fibval)
rb_fiber_t *fib;
rb_thread_t *th = GET_THREAD();
- if (DATA_PTR(fibval) != 0) {
- rb_raise(rb_eRuntimeError, "cannot initialize twice");
- }
- THREAD_MUST_BE_RUNNING(th);
fib = ALLOC(rb_fiber_t);
memset(fib, 0, sizeof(rb_fiber_t));
--
Yusuke Endoh [email protected]
=end
Updated by ko1 (Koichi Sasada) over 14 years ago
=begin
ささだです。
(2010/11/03 16:01), Yusuke Endoh wrote:
Fiber#initialize を複数回呼ぶとメモリリークします。
ご指摘ありがとうございます。コミットもお願いします。
--
// SASADA Koichi at atdot dot net
=end
Updated by mame (Yusuke Endoh) over 14 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
This issue was solved with changeset r29682.
Yusuke, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
=end
Actions
Like0
Like0Like0