On Mon, 03 Nov 2003 16:47:10 +0100
Hrvoje Niksic <hniksic(a)xemacs.org> wrote:
junq <junq(a)ihubbell.com> writes:
> On Mon, 03 Nov 2003 17:01:17 +0900
> "Stephen J. Turnbull" <stephen(a)xemacs.org> wrote:
>
>> >>>>> "junq" == junq <junq(a)ihubbell.com>
writes:
>>
>> junq> "itimer-0" 5 5 cperl-get-help-defe yes
nil
>>
>> If this is done using the fsf-compat `with-timer' interface
>> (timer.el), there is definitely a potential leak here. with-timer
>> is not protected against nonlocal exits (signals and throws), and
>> throw is the obvious way to "do something" rather than time out.
`with-timer' implements timeouts. cperl uses `run-with-idle-timer' to
run cperl-get-help-defer. There seems to be no obvious leak in
cperl-get-help-defer -- I examined the code and I tried running
thousands of its iterations in a loop. Not a dent in XEmacs memory
usage.
Maybe the itimer callback running code is leaking?
> Another clue (no time to build xemacs), I started xemacs, took data
> samples before loading any files and after. In the attached chart,
> it's easy to see where I loaded a 200 line perl script, everything
> increases. So perhaps this is a cperl problem??
It might well be, but it's far from obvious where the problem lies.
Does the leak occur if you start `xemacs -q', load a Perl script, and
leave XEmacs for the night?
Don't know, but tonight I will do that and report my findings.