summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/misc/p5-Server-Starter/lib/Server/Starter/Guard.pm
blob: f25b49c17f4f021b210e1cdd5fefb2c66dac596f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package Server::Starter::Guard;

use strict;
use warnings;

sub new {
    my ($klass, $handler) = @_;
    return bless {
       handler => $handler,
       active  => 1,
   }, $klass;
}

sub dismiss { shift->{active} = 0 }

sub DESTROY {
    my $self = shift;
    $self->{active} && $self->{handler}->();
}

1;