On Sat, 26 Feb 2005, Nick Ing-Simmons wrote: > > Perl doesn't do garbage collection as such - things are freed when their > REFCNT gets to zero.
Just to be sure I understand; this occurs _synchronously_ with the REFCNT hitting zero? In other words, if svREFCNT_dec( foo ) results in 'foo' having a zero count, is the storage returned to perl's allocator before the decrement call returns? I have been laboring under the belief that this simply marked the structure for cleanup when the current context was exited. Am I confusing 'mortality' with base refcnt behavior? Steve