summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2012-01-09 19:59:45 -0800
committerFather Chrysostomos <sprout@cpan.org>2012-01-09 19:59:45 -0800
commit8b9a1153f14d44cea2fcef118be9de0eea3dcaca (patch)
treee6d9ef6cfc990c3475e05b2ba66aca6e9a258675
parent60edcf09a5cb026822f99270a4bfbe3149cfbb52 (diff)
downloadperl-8b9a1153f14d44cea2fcef118be9de0eea3dcaca.tar.gz
Document that [ah]v_undef/clear may free the [ah]v
-rw-r--r--av.c11
-rw-r--r--hv.c11
2 files changed, 17 insertions, 5 deletions
diff --git a/av.c b/av.c
index 472600b6f0..1114531bd9 100644
--- a/av.c
+++ b/av.c
@@ -426,8 +426,11 @@ Perl_av_make(pTHX_ register I32 size, register SV **strp)
/*
=for apidoc av_clear
-Clears an array, making it empty. Does not free the memory used by the
-array itself. Perl equivalent: C<@myarray = ();>.
+Clears an array, making it empty. Does not free the memory the av uses to
+store its list of scalars. If any destructors are triggered as a result,
+the av itself may be freed when this function returns.
+
+Perl equivalent: C<@myarray = ();>.
=cut
*/
@@ -488,7 +491,9 @@ Perl_av_clear(pTHX_ register AV *av)
/*
=for apidoc av_undef
-Undefines the array. Frees the memory used by the array itself.
+Undefines the array. Frees the memory used by the av to store its list of
+scalars. If any destructors are triggered as a result, the av itself may
+be freed.
=cut
*/
diff --git a/hv.c b/hv.c
index 2cfe25bb4d..baeeae711f 100644
--- a/hv.c
+++ b/hv.c
@@ -1546,7 +1546,10 @@ Perl_hv_delayfree_ent(pTHX_ HV *hv, register HE *entry)
=for apidoc hv_clear
Frees the all the elements of a hash, leaving it empty.
-The XS equivalent of %hash = (). See also L</hv_undef>.
+The XS equivalent of C<%hash = ()>. See also L</hv_undef>.
+
+If any destructors are triggered as a result, the hv itself may
+be freed.
=cut
*/
@@ -1768,10 +1771,14 @@ Perl_hfree_next_entry(pTHX_ HV *hv, STRLEN *indexp)
/*
=for apidoc hv_undef
-Undefines the hash. The XS equivalent of undef(%hash).
+Undefines the hash. The XS equivalent of C<undef(%hash)>.
As well as freeing all the elements of the hash (like hv_clear()), this
also frees any auxiliary data and storage associated with the hash.
+
+If any destructors are triggered as a result, the hv itself may
+be freed.
+
See also L</hv_clear>.
=cut