"Philippe M. Chiasson" <[EMAIL PROTECTED]> writes: > my $pool; > sub handler { > my $r = shift; > $pool ||= $r->pool; #XXX: Yes, bad bad bad, but still... > APR::Table::make($pool, 10); #bam! > } > > The problem in this case is that apache destroyed the request pool at > the end of the first request. And we now have a valid $pool that now > points to a freed pool. It's an incorrect usage of the API, I know, > but the resulting segv isn't nice...
This is a problem with persistence, not "ownership", and affects the entirety of mp2's object system. In other words, there's no reason to single out pools in your example, the bug could just as easily been my $r; sub handler { $r ||= shift; my $pool = $r->pool; #bam! } "Fixing" this problem is certainly a challenge, but IMO not worth worrying about for 2.0. -- Joe Schaefer --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]