canonicalize changelog entries
[gitmo/MooseX-Daemonize.git] / lib / MooseX / Daemonize / Pid.pm
CommitLineData
d8985b7d 1package MooseX::Daemonize::Pid;
2eced271 2use strict; # because Kwalitee is pedantic
3use Moose;
8ac4733f 4use Moose::Util::TypeConstraints;
5
1d85c76d 6coerce 'MooseX::Daemonize::Pid'
7 => from 'Int'
8ac4733f 8 => via { MooseX::Daemonize::Pid->new( pid => $_ ) };
d9e417f4 9
2eced271 10
11has 'pid' => (
8ac4733f 12 is => 'rw',
13 isa => 'Int',
14 lazy => 1,
15 clearer => 'clear_pid',
16 predicate => 'has_pid',
17 default => sub { $$ }
2eced271 18);
19
d8985b7d 20sub is_running { kill(0, (shift)->pid) ? 1 : 0 }
2eced271 21
221;
23
24__END__
25
26=pod
27
28=head1 NAME
29
d8985b7d 30MooseX::Daemonize::Pid - PID management for MooseX::Daemonize
1d85c76d 31
2eced271 32=head1 DESCRIPTION
33
1d85c76d 34This is a very basic Pid management object, it doesn't do all that
4327fe98 35much, and mostly just serves as a base class for L<MooseX::Daemonize::Pid::File>.
36
2eced271 37=head1 ATTRIBUTES
38
4327fe98 39=over 4
2eced271 40
4327fe98 41=item I<pid Int>
2eced271 42
2eced271 43=back
44
1d85c76d 45=head1 METHODS
2eced271 46
4327fe98 47=over 4
48
49=item B<clear_pid>
50
51This will clear the value of the I<pid> attribute. It is useful for making sure
52that the parent process does not have a bad value stored in it.
2eced271 53
4327fe98 54=item B<has_pid>
55
1d85c76d 56This is a predicate method to tell you if your I<pid> attribute has
4327fe98 57been initialized yet.
58
59=item B<is_running>
60
61This checks to see if the I<pid> is running.
2eced271 62
63=item meta()
64
65The C<meta()> method from L<Class::MOP::Class>
66
67=back
68
69=head1 DEPENDENCIES
70
71Obviously L<Moose>
72
73=head1 INCOMPATIBILITIES
74
75None reported.
76
77=head1 BUGS AND LIMITATIONS
78
79No bugs have been reported.
80
81Please report any bugs or feature requests to
82C<bug-acme-dahut-call@rt.cpan.org>, or through the web interface at
83L<http://rt.cpan.org>.
84
85=head1 AUTHOR
86
92cf56b7 87Stevan Little C<< <stevan.little@iinteractive.com> >>
2eced271 88
89=head1 LICENCE AND COPYRIGHT
90
05b96f4d 91Copyright (c) 2007-2011, Chris Prather C<< <perigrin@cpan.org> >>. All rights
2eced271 92reserved.
93
94This module is free software; you can redistribute it and/or
95modify it under the same terms as Perl itself. See L<perlartistic>.
96
2eced271 97=head1 DISCLAIMER OF WARRANTY
98
99BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
100FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
101OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
102PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
103EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
104WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
105ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
106YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
107NECESSARY SERVICING, REPAIR, OR CORRECTION.
108
109IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
110WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
111REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE
112LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL,
113OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
114THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
115RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
116FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
117SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
118SUCH DAMAGES.
119
62b880da 120=cut