yeah, I am really not worried about the performance on this one, just noted
it for completeness.

What is nagging at me is what kentnl mentioned where something nested
catches an exception from something that failed to release it's context due
to the exception. Not because of these vars, but because it can cause other
problems, I need to look into it.
On Wed, Jan 13, 2016 at 11:58 AM, Sawyer X wrote:


The extra cost would be:
1. Array storage
2. Push
3. Pop

At the cost of supporting any level of nesting, I think it's a negligible
cost, but I would profile it.

On Wed, Jan 13, 2016 at 7:50 PM, Kent Fredric wrote:
On 14 January 2016 at 07:39, Chad Granum wrote:
Right now the version I have up on cpan just stores them on creation, and
restores them on final release. Nothing happens for nested calls to
context()/release(), all my downstream testing shows no breakages (not a
full smoke, but does include several modules sensitive to $! and $@

In the event some code like this dies:

sub foo {
my $context = context();
die "Bar";

What will happen with regards to $@ auto-stacking?

If somebody catches the die in a higher context, what will $@ be?


KENTNL - https://metacpan.org/author/KENTNL

Search Discussions

Discussion Posts


Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 20 of 28 | next ›
Discussion Overview
groupcpan-workers @
postedJan 12, '16 at 12:53a
activeJan 18, '16 at 10:52p



site design / logo © 2021 Grokbase