]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/OnDestroy.pm
No ext_urls
[public-inbox.git] / lib / PublicInbox / OnDestroy.pm
index 65ebd7dcf574f5aa72243add2b0df55f355d794a..d9a6cd241becf48025f37f11389b94a4ee821396 100644 (file)
@@ -1,16 +1,19 @@
-# Copyright (C) 2020 all contributors <meta@public-inbox.org>
+# Copyright (C) all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 
 package PublicInbox::OnDestroy;
+use v5.12;
 
 sub new {
        shift; # ($class, $cb, @args)
        bless [ @_ ], __PACKAGE__;
 }
 
+sub cancel { @{$_[0]} = () }
+
 sub DESTROY {
        my ($cb, @args) = @{$_[0]};
-       if (!ref($cb)) {
+       if (!ref($cb) && $cb) {
                my $pid = $cb;
                return if $pid != $$;
                $cb = shift @args;