Updated to 3.020000
Updated DESCR Upstream changes: 3.020000 July 2012 * new destructor_method option 3.018000 June 2012 * new options ignore_preds, ignore_object, ignore_objects 3.016000 May 2012 * new ignore_class and ignore_classes options 3.014000 February 2012 * tests force Dumper sortkeys 3.012000 February 2012 * tests allow for "at line 123." with a "." 3.010000 February 2012 * constructor can return multiple values 3.008000 January 2012 * Try for Perl 5.6.0 too. * XSUB bits in the main docs. * Slightly more compact SYNOPSIS. 3.007_001 Sun Jan 6 19:58:00 PST 2012 * Cope with some tied glob warnings of perl 5.14 and up. 3.007_000 Sun Jan 1 17:29:41 PST 2012 * New developer's release * Add Kevin Ryde's XSUB doc
This commit is contained in:
parent
e28a680c12
commit
abba807b09
3 changed files with 22 additions and 30 deletions
|
@ -1,29 +1,21 @@
|
|||
A memory leak occurs when a Perl data structure is destroyed but some of
|
||||
the contents of that structure are not freed. Leaked memory is a useless
|
||||
overhead. Leaks can significantly impact system performance. They can also
|
||||
Test::Weaken helps detect unfreed Perl data in arrays, hashes, scalars,
|
||||
objects, etc, by descending recursively through structures and watching
|
||||
that everything is freed. Unfreed data is a useless overhead and may
|
||||
cause an application to abend due to lack of memory.
|
||||
|
||||
In Perl, circular references are a common cause of memory leaks. Circular
|
||||
references are allowed in Perl, but data structures containing circular
|
||||
references will leak memory unless the programmer takes specific measures
|
||||
to prevent leaks. Preventive measures include weakening the references
|
||||
and arranging to break the reference cycle just before the structure is
|
||||
destroyed.
|
||||
Normally if the last reference to something is discarded then it and
|
||||
anything in it is freed automatically. But this might not occur due to
|
||||
circular references, unexpected global variables or closures, or reference
|
||||
counting mistakes in XSUBs.
|
||||
|
||||
When using circular references, it is easy to misdesign or misimplement a
|
||||
scheme for preventing memory leaks. Mistakes of this kind have been hard to
|
||||
detect in a test suite.
|
||||
Test::Weaken is named for the strategy used to detect leaks. References
|
||||
are taken to the test objects and all their contents, then those
|
||||
references are weakened and expected to be then freed.
|
||||
|
||||
Test::Weaken allows easy detection of unfreed Perl data. Test::Weaken allows
|
||||
you to examine the unfreed data, even data that would usually have been made
|
||||
inaccessible.
|
||||
There's options to ignore intentional globals, or include extra associated
|
||||
data held elsewhere, or invoke an explicit destructor. Unfreed parts are
|
||||
reported and can be passed to other modules such as Devel::FindRef to try
|
||||
to discover why they weren't freed.
|
||||
|
||||
Test::Weaken frees the test structure, then looks to see if any of the
|
||||
contents of the structure were not actually deallocated. By default,
|
||||
Test::Weaken determines the contents of a data structure by examining
|
||||
arrays and hashes, by following references, and by following tied variables
|
||||
to their underlying object. Test::Weaken does this recursively to unlimited
|
||||
depth.
|
||||
|
||||
Test::Weaken can deal with circular references without going into infinite
|
||||
loops. Test::Weaken will not visit the same Perl data object twice.
|
||||
Test::Weaken examines structures to an unlimited depth and is safe on
|
||||
circular structures.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# $NetBSD: Makefile,v 1.5 2011/12/14 03:14:06 hiramatsu Exp $
|
||||
# $NetBSD: Makefile,v 1.6 2012/09/15 14:43:53 wen Exp $
|
||||
#
|
||||
|
||||
DISTNAME= Test-Weaken-3.006000
|
||||
DISTNAME= Test-Weaken-3.020000
|
||||
PKGNAME= p5-${DISTNAME:S/006000/006.000/}
|
||||
CATEGORIES= devel perl5
|
||||
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=Test/}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
$NetBSD: distinfo,v 1.3 2011/12/14 03:14:06 hiramatsu Exp $
|
||||
$NetBSD: distinfo,v 1.4 2012/09/15 14:43:53 wen Exp $
|
||||
|
||||
SHA1 (Test-Weaken-3.006000.tar.gz) = e041b9c8dce3c0fef7379ae938fea85f4a8e675a
|
||||
RMD160 (Test-Weaken-3.006000.tar.gz) = 931feb93d8f83d0733b9150a77b05d11682c2138
|
||||
Size (Test-Weaken-3.006000.tar.gz) = 37202 bytes
|
||||
SHA1 (Test-Weaken-3.020000.tar.gz) = b8a7cc66560fe009ebca59dc5c910384d197369d
|
||||
RMD160 (Test-Weaken-3.020000.tar.gz) = a0e69af72b772b1851f6b332adb1d74412ee567d
|
||||
Size (Test-Weaken-3.020000.tar.gz) = 48026 bytes
|
||||
|
|
Loading…
Reference in a new issue