diff options
Diffstat (limited to '')
-rw-r--r-- | web/server/h2o/libh2o/misc/p5-Server-Starter/lib/Server/Starter/Guard.pm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/misc/p5-Server-Starter/lib/Server/Starter/Guard.pm b/web/server/h2o/libh2o/misc/p5-Server-Starter/lib/Server/Starter/Guard.pm new file mode 100644 index 000000000..f25b49c17 --- /dev/null +++ b/web/server/h2o/libh2o/misc/p5-Server-Starter/lib/Server/Starter/Guard.pm @@ -0,0 +1,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; |