2026-03-22 Todd Rinaldo <toddr@cpan.org> (0.51)
Bug fixes:
* Fix Socket::INADDR_ANY constant for unix socket client auth.
GH #1, PR #27
* Fix post_clone() hook - Clone() never called new(), so the
$self->{'parent'} check in new() was dead code. Added post_clone()
method that Clone() calls after creating the new object.
GH #2, PR #26
* Open logfile when filename string is provided via --logfile.
OpenLog() previously returned the logfile value as-is when it was
a defined string, causing Log() to fall through to STDERR.
GH #3, PR #25 (rt.cpan.org #76133)
* Reap forked child processes to prevent zombie accumulation.
SigChildHandler now uses a proper waitpid reaper instead of
returning 'IGNORE', fixing zombie buildup on Windows/Strawberry
Perl after ~64 connections.
GH #5, PR #23
* Fix ReadConfigFile implementation traversing @INC.
GH #8 (rt.cpan.org #123213)
* Detach threads in ChildFunc to prevent memory leaks. Thread
objects were never joined or detached, causing leftover thread
mappings to accumulate.
GH #12, PR #22
* Only load threads if forks hasn't already been loaded and
threads exists. GH #16
Improvements:
* Add post_clone() hook for per-connection initialization.
Subclasses can override to perform per-connection setup.
GH #2, PR #26
* Add --listen option to Options() to allow overriding the
default listen backlog of 10. GH #4, PR #24
Maintenance:
* Modernize Makefile.PL metadata: add LICENSE, MIN_PERL_VERSION,
TEST_REQUIRES, upgrade META_MERGE to meta-spec v2, update
GitHub URLs. PR #28
* Modernize CI workflow: upgrade actions/checkout to v4, use
perldocker/perl-tester images, dynamic Perl version matrix
covering 5.8 through devel, add disttest job. PR #29
* Disable t/ithreadm.t for Windows. GH #19
* Improve skip messages and detection of ithreads/forks in tests.
* Convert t/base.t to Test::More.
* Apply consistent perltidy formatting.
* Add strict/warnings, replace 'use vars' with 'our'.
* Remove perl 4-ish subroutine calls.
2020-09-22 Todd Rinaldo <toddr@cpan.org> (0.49)
* Perl 5.6 is the minimum required version now.
* RIP Thread.pm it has not been relevant since 5.6
2011-03-09 Malcolm Nooning <m.nooning@comcast.net> (0.48)
* t/forkm.t Patched perl Leon Timmermans
http://rt.perl.org/rt3/Public/Bug/Display.html?id=83646
2011-03-01 Malcolm Nooning <m.nooning@comcast.net> (0.47)
* lib/Net/Daemon.pm Patched per bug 32887
"ithreads not detected due to a typo"
2011-02-22 Malcolm Nooning <m.nooning@comcast.net> (0.46)
* lib/Net/Daemon.pm Fixed "Subroutine import redefined" problem
that perl 5.8.8 CPAN testers was getting. It was due to
more than one "require threads" being run.
* distribution. Bumped up the version number first.
2011-02-18 Malcolm Nooning <m.nooning@comcast.net> (0.45)
* lib/Net/Daemon.pm Used "make dist" to create the uploaded
* distribution. Bumped up the version number first.
2011-02-17 Malcolm Nooning <m.nooning@comcast.net> (0.44)
* lib/Net/Daemon.pm Added ServClose patch by Gaspar Chilingarov
* t/thread.t Added patches by Daniel Macks and Joe McMahon,
and added Test::More and skip_all for Windows < 5.10
2009-03-12 Joe McMahon <mcmahon@blekko.com> (0.44)
* Added necessary thread sharing to work with 5.10
threads model: regexp-threads,
* Bumped minimum required perl to 5.10 for t/threads.t tests
2007-06-17 Malcolm Nooning <m.nooning@comcast.net> (0.43)
* lib/Net/Daemon.pm Needed to up the VERSION number
2007-06-16 Malcolm Nooning <m.nooning@comcast.net> (0.42)
* t/forkm.t: Added a wait so that the parent will not loop
around and make another child until the previous child has
been destroyed.
2007-05-23 Malcolm Nooning <m.nooning@comcast.net> (0.41)
* t/forkm.t: When all ten childs are exited,
sub CatchChild will now exit.
2007-05-16 Malcolm Nooning <m.nooning@comcast.net> (0.40)
* t/threadm.t: The tests are now skipped with a
passing indication when usethreads is defined, which
would mean that the ithreadm tests are the ones that
matter.
Test.pm: A patch from todd.e.rinaldo was used. I do
not remember what the issues were.
2006-02-15 Jochen Wiedmann <jwied@cpan.org> (0.39)
* t/forkm.t: Hopefully, I finally got rid of the
problem with the forking tests. It seems, that
the perlipc manual got updated in the past years,
most possibly for the same reason: A child handler
must be written to catch childs in a loop.
2003-11-10 Jochen Wiedmann <joe@ispsoft.de> (0.38)
* lib/Net/Daemon.pm: It is now possible to specify
user/group root (aka 0). (rgreab@fx.ro)
* Added mode 'ithreads'. (Bill Jackson,
<bjackson@ah.ddiglobal.com>)
* lib/Net/Daemon.pm (Bind): The parent process is
now explicitly closing the client socket in fork
mode. (Thought this would happen automatically
due to garbage collection, but possibly it
doesn't.) Tulsi Ram Mayala,
<tulsi_rammayala@pspl.co.in>
2002-08-20 Jochen Wiedmann <joe@ispsoft.de> (0.37)
* lib/Net/Daemon.pm (Bind): The server died, if
accepting a connection failed. Fixed.
Nathan Mueller <nmueller@cs.wisc.edu>
2001-11-12 Jochen Wiedmann <joe@ispsoft.de> (0.36)
* For whatever reason, Thread->self returns undef
under ActivePerl. This is now handled properly
in Net::Daemon::Log.
2001-04-08 Jochen Wiedmann <joe@ispsoft.de> (0.35)
* Added preforked childs to mode 'single'. (Gerald Richter,
<richter@ecos.de>)
* t/server (Run): Child process is now waiting one second
in forking mode. Helps the script t/forkm.t to run fine.
(Radu Greab <radu@netsoft.ro>)
2000-12-22 Jochen Wiedmann <joe@ispsoft.de> (0.34)
* Changed "kill 1" to "kill 'TERM'" when working with fork.
Thanks to Torsten Foertsch (torsten.foertsch@gmx.net), in
particular for his explanations on the rationale behind
SIGHUP.
2000-11-07 Jochen Wiedmann <joe@ispsoft.de> (0.32)
* lib/Net/Daemon.pm: SigChildHandler is now always returning
undef or IGNORE.
2000-06-26 Jochen Wiedmann <joe@ispsoft.de> (0.31)
* lib/Net/Daemon/Log.pm (OpenLog): Same thing for FreeBSD. Thanks
to Kurt Jaeger <pi@lf.net>.
2000-10-05 Jochen Wiedmann <joe@ispsoft.de> (0.30)
* lib/Net/Daemon.pm: Fixed problem with setlogsock on Solaris. My
thanks to Wolfgang Friebel <friebel@ifh.de>.
1999-11-14 Jochen Wiedmann <joe@ispsoft.de> (0.29)
* lib/Net/Daemon/Log.pm (Fatal): Now displaying the callers
error line and file, rather than that of the Fatal() method.
1999-09-26 Jochen Wiedmann <joe@ispsoft.de> (0.28)
* lib/Net/Daemon/Log.pm: Added LogTime method.
Stefan Engel <St_Engel@gmx.net>
* lib/Net/Daemon.pm: Fixed use of $socket->sockhost() instead
of $socket->peerhost() when logging the clients IP address.
Stefan Engel <St_Engel@gmx.net>
* lib/Net/Daemon.pm: Made 'IGNORE' the default for $SIG{'CHLD'}
on Solaris. Stefan Engel <St_Engel@gmx.net>
1999-08-11 Jochen Wiedmann <joe@ispsoft.de> (0.27)
* lib/Net/Daemon.pm (Bind): Under Linux the CHLD signal is now
ignored, due to a suggestion of Gaal Yahas <gaal@forum2.org>.
Required because zombies have been created under heavy load.
1999-08-11 Jochen Wiedmann <joe@ispsoft.de> (0.26)
* lib/Net/Daemon/Test.pm (Child): Fixed handling of "." in
directory names. Thanks to Tom Lowery, <tlowery@dsioj.dla.mil>.
* t/threadm.t (MyChild): Use of alarm() now depends on a working
alarm() function. (Not working under Win32.) Thanks to Tom
Lowery, <tlowery@dsioj.dla.mil>
1999-07-24 Jochen Wiedmann <joe@ispsoft.de> (0.25)
* lib/Net/Daemon.pm: Added the Loop method and the loop-timeout
option.
1999-07-12 Jochen Wiedmann <joe@ispsoft.de> (0.24)
* lib/Net/Daemon.pm (Bind): Moved PID file creation before
chroot. Benjamin Ritcey <Benjamin.Ritcey@tfn.com>
* lib/Net/Daemon.pm (Bind): Added use of the Proc::Daemon::Init
module, if present.
1999-07-02 Jochen Wiedmann <joe@ispsoft.de> (0.23)
* lib/Net/Daemon.pm (new): Fixed automatic mode detection.
Benjamin Ritcey <Benjamin.Ritcey@tfn.com>
1999-07-01 Jochen Wiedmann <joe@ispsoft.de> (0.22)
* lib/Net/Daemon.pm (Bind): Made --pidfile working.
(Joshua Pincus <pncu_ss@troi.cc.rochester.de>)
1999-06-27 Jochen Wiedmann <joe@ispsoft.de> (0.21)
* lib/Net/Daemon.pm (Bind): Under Solaris the accept() call
can fail with a value of EINTR if a SIGCHLD was catched.
This is trapped now. Thanks to Brady Montz <bradym@cs.arizona.edu>.
1999-03-20 Liraz Siri <liraz_siri@usa.net> (0.20)
* skipped to 0.2 since I've independantly made modifications,
and I'd like to avoid conflict.
* unix domain support.
* minor bug fixes jochen made in 0.16 and 0.17.
1998-12-06 Jochen Wiedmann <joe@ispsoft.de> (0.15)
* Added regexp lock.
* Fixed the example server in the man page.
1998-10-30 Jochen Wiedmann <joe@ispsoft.de> (0.14)
* lib/Net/Daemon.pm (Bind): Made server quiet without '--debug'.
1998-10-28 Jochen Wiedmann <joe@ispsoft.de> (0.13)
* lib/Net/Daemon.pm: Some minor modifications for the DBI Proxy.
1998-10-25 Jochen Wiedmann <joe@ispsoft.de> (0.12)
* Moved OpenLog, Log, Debug, Error and Fatal to Net::Daemon::Log.
1998-10-17 Jochen Wiedmann <joe@ispsoft.de> (0.11)
* Daemon.pm: Added --configfile.
* Daemon.pm: Removed --forking and --single in favour of --mode.
* Daemon.pm: Removed --stderr in favour of --logfile=stderr.
* Daemon.pm: Added $self->{'clients'}, recognizes 'mask' and
'accept' attributes.