Definately agreed.
I didn't realize that the scoping rules
in PERL are per basic block, not per
function. Thanks for the clarification! :)
-- Michael --
> # ---
> use Cyrus::IMAP::Admin;
> for (;;) {
> my $obj = Cyrus::IMAP::Admin->new('localhost');
> }
> # ---
>
> $obj will get "destro
Michael Fair wrote on Thu, Jul 12 2001 (23:58:53 -0700):
> I may be dense but wouldn't this code allocate
> a new Cyrus::IMAP::Admin object each pass through
> the loop and the reference to the new object be
> stored in the same location as the reference to
> the instance from the previous iter
> # ---
> use Cyrus::IMAP::Admin;
> while (1) {
> my $client = Cyrus::IMAP::Admin->new("localhost");
> my $rc = $client->authenticate(
> -mechanism => "login",
> -service=> "imap",
> -user => "foo",
> -password => "bar",
>
the imclient library in 2.0.15 leaks memory:
--- lib/imclient.c.dist Fri Jul 13 02:11:58 2001
+++ lib/imclient.c Fri Jul 13 02:35:19 2001
@@ -335,2 +335,4 @@
/*if (imclient->state) imclient->mech->free_state(imclient->state);*/
+sasl_dispose(&(imclient->saslconn));
+sasl_don