Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.86k stars 527 forks source link

Object not destroyed when @_ updated #180

Closed p5pRT closed 20 years ago

p5pRT commented 24 years ago

Migrated from rt.perl.org#985 (status was 'resolved')

Searchable as RT985$

p5pRT commented 24 years ago

From mjtg@cus.cam.ac.uk

sub DESTROY { print "DESTROY "\, shift\, "\n" };

sub bb { @​_= bless {} }; sub aa { bb(); }; aa(); print "This should follow first DESTROY\n"; aa(); print "This should follow second DESTROY\n";

% perl -w leak.destroy/test DESTROY main=HASH(0xbe864) This should follow first DESTROY This should follow second DESTROY DESTROY main=HASH(0xbe864) %

This error occurs with perl5.004_05\, perl5.005_03 and perl5.005_57.

Mike Guy

% perl -V Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration​:   Platform​:   osname=solaris\, osvers=2.6\, archname=sun4-solaris   uname=''   hint=previous\, useposix=true\, d_sigaction=define   usethreads=undef useperlio=undef d_sfio=undef   Compiler​:   cc='gcc'\, optimize='-O'\, gccversion=2.7.2.3   cppflags='-I/usr/local/include -I/opt/local/include -DREG_INFTY=22786'   ccflags ='-I/usr/local/include -I/opt/local/include -DREG_INFTY=22786'   stdchar='unsigned char'\, d_stdstdio=define\, usevfork=false   intsize=4\, longsize=4\, ptrsize=4\, doublesize=8   d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16   alignbytes=8\, usemymalloc=y\, prototype=define   Linker and Libraries​:   ld='gcc'\, ldflags =' -L/usr/local/lib -L/opt/local/lib'   libpth=/usr/local/lib /opt/local/lib /lib /usr/lib /usr/ccs/lib   libs=-lsocket -lnsl -ldl -lm -lc -lcrypt   libc=/lib/libc.so\, so=so\, useshrplib=false\, libperl=libperl.a   Dynamic Linking​:   dlsrc=dl_dlopen.xs\, dlext=so\, d_dlsymun=undef\, ccdlflags=' '   cccdlflags='-fpic'\, lddlflags='-G -L/usr/local/lib -L/opt/local/lib'

Characteristics of this binary (from libperl)​:   Built under solaris   Compiled at Mar 30 1999 14​:22​:18   @​INC​:   /home/mjtg/perl5.005_03/lib   /home/mjtg/perl5.005_03/lib   /home/mjtg/perl5.005_03/lib   .