Revision history for MooseX-Daemonize
+0.13 Wed. July 6, 2011
+ - adding docs related to closing all
+ filehandles and the issues that can
+ cause with things like Log::Log4Perl
+ (thanks to Maik Hentsche via RT #67016)
+ - updating copyright dates
+
0.12 Sun. July 11, 2010
- release without the .git directory in it
-MooseX-Daemonize version 0.12
+MooseX-Daemonize version 0.13
INSTALLATION
COPYRIGHT AND LICENCE
-Copyright (C) 2007-2010, Chris Prather
+Copyright (C) 2007-2011, Chris Prather
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
use Moose::Role;
use MooseX::Types::Path::Class;
-our $VERSION = '0.12';
+our $VERSION = '0.13';
with 'MooseX::Daemonize::WithPidFile',
'MooseX::Getopt';
appropriately to Signals. This module provides a set of basic roles as an
infrastructure to do that.
+=head1 CAVEATS
+
+When going into background MooseX::Daemonize closes all open file
+handles. This may interfere with you logging because it may also close the log
+file handle you want to write to. To prevent this you can either defer opening
+the log file until after start. Alternatively, use can use the
+'dont_close_all_files' option either from the command line or in your .sh
+script.
+
+Assuming you want to use Log::Log4perl for example you could expand the
+MooseX::Daemonize example above like this.
+
+ after start => sub {
+ my $self = shift;
+ return unless $self->is_daemon;
+ Log::Log4perl->init(\$log4perl_config);
+ my $logger = Log::Log4perl->get_logger();
+ $logger->info("Daemon started");
+ # your daemon code here ...
+ };
+
+
=head1 ATTRIBUTES
This list includes attributes brought in from other roles as well
=head1 LICENCE AND COPYRIGHT
-Copyright (c) 2007-2010, Chris Prather C<< <chris@prather.org> >>. Some rights
+Copyright (c) 2007-2011, Chris Prather C<< <chris@prather.org> >>. Some rights
reserved.
This module is free software; you can redistribute it and/or
use MooseX::Getopt; # to load the NoGetopt metaclass
use Moose::Role;
-our $VERSION = '0.12';
+our $VERSION = '0.13';
use POSIX ();
=head1 LICENCE AND COPYRIGHT
-Copyright (c) 2007-2010, Chris Prather C<< <perigrin@cpan.org> >>. All rights
+Copyright (c) 2007-2011, Chris Prather C<< <perigrin@cpan.org> >>. All rights
reserved.
Portions heavily borrowed from L<Proc::Daemon> which is copyright Earl Hood.
use strict; # because Kwalitee is pedantic
use Moose;
use Moose::Util::TypeConstraints;
-our $VERSION = '0.12';
+our $VERSION = '0.13';
coerce 'MooseX::Daemonize::Pid'
=> from 'Int'
=head1 LICENCE AND COPYRIGHT
-Copyright (c) 2007-2010, Chris Prather C<< <perigrin@cpan.org> >>. All rights
+Copyright (c) 2007-2011, Chris Prather C<< <perigrin@cpan.org> >>. All rights
reserved.
This module is free software; you can redistribute it and/or
use Moose;
use Moose::Util::TypeConstraints;
-our $VERSION = '0.12';
+our $VERSION = '0.13';
use MooseX::Types::Path::Class;
use MooseX::Getopt::OptionTypeMap;
=head1 LICENCE AND COPYRIGHT
-Copyright (c) 2007-2010, Chris Prather C<< <perigrin@cpan.org> >>. All rights
+Copyright (c) 2007-2011, Chris Prather C<< <perigrin@cpan.org> >>. All rights
reserved.
This module is free software; you can redistribute it and/or
use strict; # cause Perl::Critic errors are annoying
use MooseX::Getopt; # to load the Getopt metaclass
use Moose::Role;
-our $VERSION = '0.12';
+our $VERSION = '0.13';
use MooseX::Daemonize::Pid::File;
=head1 LICENCE AND COPYRIGHT
-Copyright (c) 2007-2010, Chris Prather C<< <perigrin@cpan.org> >>. All rights
+Copyright (c) 2007-2011, Chris Prather C<< <perigrin@cpan.org> >>. All rights
reserved.
Portions heavily borrowed from L<Proc::Daemon> which is copyright Earl Hood.
package Test::MooseX::Daemonize;
use strict;
-our $VERSION = '0.12';
+our $VERSION = '0.13';
our $AUTHORITY = 'cpan:PERIGRIN';
# BEGIN CARGO CULTING
=head1 LICENCE AND COPYRIGHT
-Copyright (c) 2007-2010, Chris Prather C<< <perigrin@cpan.org> >>. All rights reserved.
+Copyright (c) 2007-2011, Chris Prather C<< <perigrin@cpan.org> >>. All rights reserved.
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself. See L<perlartistic>.