File: Process.pm

package info (click to toggle)
libapache-singleton-perl 0.17-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 236 kB
  • sloc: perl: 274; makefile: 13
file content (92 lines) | stat: -rw-r--r-- 1,736 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#
# This file is part of Apache-Singleton
#
# This software is copyright (c) 2009 by Michael Schout.
#
# This is free software; you can redistribute it and/or modify it under
# the same terms as the Perl 5 programming language system itself.
#

package Apache::Singleton::Process;
$Apache::Singleton::Process::VERSION = '0.17';
# ABSTRACT: One instance per One Process

use strict;
use warnings;

use base 'Apache::Singleton';

no strict 'refs';

my %INSTANCES;

sub _get_instance {
    my $class = shift;

    $class = ref $class || $class;

    return $INSTANCES{$class};
}

sub _set_instance {
    my($class, $instance) = @_;

    $class = ref $class || $class;

    $INSTANCES{$class} = $instance;
}

END {
    # dereferences and causes orderly destruction of all instances
    undef(%INSTANCES);
}

1;

__END__

=pod

=head1 NAME

Apache::Singleton::Process - One instance per One Process

=head1 VERSION

version 0.17

=head1 SYNOPSIS

  package Printer;
  use base qw(Apache::Singleton::Process);

=head1 DESCRIPTION

See L<Apache::Singleton>.

=head1 SEE ALSO

L<Apache::Singleton>

=head1 SOURCE

The development version is on github at L<https://github.com/mschout/apache-singleton>
and may be cloned from L<git://github.com/mschout/apache-singleton.git>

=head1 BUGS

Please report any bugs or feature requests to bug-apache-singleton@rt.cpan.org or through the web interface at:
 http://rt.cpan.org/Public/Dist/Display.html?Name=Apache-Singleton

=head1 AUTHOR

Michael Schout <mschout@cpan.org>

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2009 by Michael Schout.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=cut