# Copyright (C) 2020-2021 all contributors # License: AGPL-3.0+ package PublicInbox::OnDestroy; sub new { shift; # ($class, $cb, @args) bless [ @_ ], __PACKAGE__; } sub DESTROY { my ($cb, @args) = @{$_[0]}; if (!ref($cb) && $cb) { my $pid = $cb; return if $pid != $$; $cb = shift @args; } $cb->(@args) if $cb; } 1;