[#2840] Changing Resolv::DNS — Daniel Hobe <daniel@...>
I put out a RCR a while ago (176) that subclassed the Resolv::DNS class to
5 messages
2004/05/01
[#2853] cgi.rb: option to omit HTTP header emission — Jos Backus <jos@...>
I'm trying to use cgi.rb to write HTML-only output. This patch adds a
5 messages
2004/05/06
[#2867] ruby/dl — Jeff Mitchell <quixoticsycophant@...>
# dltest.rb
7 messages
2004/05/12
[#2878] Bug in open-uri under win32 (?) — Mauricio Fern疣dez <batsman.geo@...>
4 messages
2004/05/16
[#2894] RI for distribution — why the lucky stiff <ruby-core@...>
Hi, everyone.
6 messages
2004/05/18
[#2901] test/yaml/test_yaml.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Hello.
2 messages
2004/05/19
[#2913] [yaml] YAML.load([1,2,3].to_yaml.to_yaml) — Jeff Mitchell <quixoticsycophant@...>
A bit contrived,
8 messages
2004/05/20
[#2926] Re: [bug] [yaml] YAML.load([1,2,3].to_yaml.to_yaml)
— "daz" <dooby@...10.karoo.co.uk>
2004/05/23
[#2927] Re: [bug] [yaml] YAML.load([1,2,3].to_yaml.to_yaml)
— ts <decoux@...>
2004/05/23
>>>>> "d" == daz <dooby@d10.karoo.co.uk> writes:
[#2928] Syck CVS (was Re: [bug] [yaml] YAML.load([1,2,3].to_yaml.to_yaml))
— why the lucky stiff <ruby-core@...>
2004/05/23
ts wrote:
[#2929] Re: Syck CVS (was Re: [bug] [yaml] YAML.load([1,2,3].to_yaml.to_yaml))
— ts <decoux@...>
2004/05/23
>>>>> "w" == why the lucky stiff <ruby-core@whytheluckystiff.net> writes:
[#2918] fixed SIG_SEGV in check_stack() in eval.c — b g <bg_rubyposter_123456@...>
I was getting a crash at 'JUMP_TAG(state);' in
6 messages
2004/05/22
[#2938] -Wstrict-prototypes for extensions — Jeff Mitchell <quixoticsycophant@...>
6 messages
2004/05/25
memory leak when using continuations+weakrefs?
From:
"=?windows-1251?Q?=D1=EB=E5=EF=ED=E5=E2_=C2=EB=E0=E4=E8=EC=E8=F0?=" <slepnev_v@...>
Date:
2004-05-11 18:28:09 UTC
List:
ruby-core #2864
Hello,
the following code eats up more and more memory as it works, pretty
fast. It shouldn't.
require 'weakref'
class A
attr_accessor :child
def foo
@child = B.new
@child.call
end
end
class B
def call
callcc do |cc|
@cont = cc
end
end
def answer(obj)
@cont.call(obj)
end
end
def purge(array)
array.delete_if {|x| not x.weakref_alive?}
end
a = A.new
arr = []
loop { a.foo; arr << WeakRef.new(a.child); purge(arr)}
If we comment out the line @cont = cc, the leak goes away. If we don't
save weakrefs at all, the leak also goes away. I don't understand it.
This combination (weakrefs + continuations) is not contrived: it is
used in the Borges web framework, for an important purpose.
Vladimir Slepnev