Revision history for Forks-Super

0.44    2011-02-12
        Upgrade Sys-CpuAffinity bundle to 0.99.
        Can use Proc::ProcessTable to clean up grandchild processes.
        Introduced reuse, dispose methods in Forks::Super::Job.
        Fix tied $fh call (deprecated in 5.13.8).
        Implement -MForks::Super=cleanse for picking up IPC litter off-line.

0.43    2010-11-15
        API change for bg_eval, bg_qx functions: return value is no longer a
        reference to a tied variable, but an overloaded object that retrieves
        its value only when it is used.
        Support timeout=> option to F::S::J::Ipc::read_stdXXX methods.

0.42    2010-10-17
        Implemented child_fh => block spec.
        Moved some functionality checks into %Forks::Super::SysInfo::CONFIG.
        Getting bg_eval, bg_qx to do the right thing in taint mode.
        Fixed IPC failures in non-English locales bug (cf. 
            www.cpantesters.org/cpan/report/8376777)
        Fix stdin,stdout,stderr options to fork to work better with socket IPC.

0.41    2010-10-10
        overload behavior from v0.34 more stable, enabled by default.
        Change name of $Forks::Super::FH_DIR to IPC_DIR and how it is set.
        META.yml changes so bundled distributions aren't indexed by CPAN.
        Check if sleep/alarm are compatible before some features can be used.

0.40    2010-09-28
        Implemented Forks::Super::Sighandler module and enhanced 
        signal handling. Use with Time::HiRes::setitimer where
        available to monitor the job queue instead of a separate process.

0.39    2010-09-16
        Support for YAML::Tiny, Data::Dumper in Forks::Super::LazyEval package.
        Enable default install for bundled Sys::CpuAffinity, Sys::CpuLoadX mods
        Some efforts toward backporting to 5.6.

0.38    2010-09-08
        Removed redundant Forks::Super::Util::Time() call.
        Testing changes, including checking taint compatibility.
        Unregister SIGCHLD handler at END{} to fix intermittent errors.

0.37    2010-08-27
        Support  block=>0|1  option to F::S::J::Ipc::read_stdXXX methods
        to force blocking/non-blocking IPC I/O.
        Natural language for timeout/expiration/delay/start_after options
        (requires DateTime::Format::NaturalLanguage).
        Support CONFIG{filehandles}=0 to only use sockets & pipes for IPC.

0.36    2010-08-23
        Test case fixes only.

0.35    2010-08-12
        New IPC methods F::S::Job::write_stdin, read_stdout, read_stderr;
        refactored a lot of IPC code.
        wait, waitpid can return overloaded F::S::Job objects like fork().
        Documented $Forks::Super::Wait::WAIT_ACTION_ON_SUSPENDED_JOBS.
        Implemented suspend callback.

0.34    2010-08-10
        Return value from fork() can be an overloaded Forks::Super::Job
        object that behaves like its pid in number context.

0.33    2010-07-29
        Added open2 and open3 convenience methods.
        Support for JSON v1 in Forks::Super::LazyEval package.
        If $Forks::Super::SUPPORT_LIST_CONTEXT is non-zero, then
        fork() in list context returns Forks::Super::Job object to parent.

0.32    2010-05-18
        New system dependent Forks::Super::SysInfo package.
        Changes to Ipc.pm for robustness and to ease testing/debugging.
        Put README.txt file into temporary IPC directories.
        Improved cleanup of queue monitor.

0.31    2010-05-04
        Extend socket IPC to cmd/exec-style forks (except MSWin32).
        Making use of tie behavior to more Forks::Super::Queue variables.

0.30    2010-04-25
        Implemented suspend/resume functionality (for Windows, too).
        Implemented kill/kill_all functions to send signals to jobs.
        Bundles Sys::CpuAffinity (released) and Sys::CpuLoadX (unreleased)
        modules, and enables $Forks::Super::MAX_LOAD parameter and
        max_load option to fork().

0.29    2010-04-13
        Pipes for IPC. system-limits.PL obtains pipe, socket capacity.

0.28    2010-04-05
        JSON support for bg_eval call. Improved IPC file cleanup in MSWin32.

0.27    2010-04-03
        Makefile changes, doc fixes

0.26    2010-03-18
        Built OS::Win32 and OS::Linux for os-specific system functions.
        OS::Linux includes first "conditional Inline::C code".
        Broke up some long running unit tests into small pieces.

0.25    2010-03-10
        $Forks::Super::LAST_JOB,$Forks::Super::LAST_JOB_ID capture job state in
        bg_eval/bg_qx calls. Special handling for bg_eval/bg_qx jobs in waitpid
        Timeout in MSWin32 will now (maybe) kill the grandchildren too.

0.24    2010-03-05
        Fix cleanup of IPC files.

0.23    2010-02-20
        Implemented timeouts on wait,waitpid,waitall calls.

0.22    2010-02-19
        Added bg_qx function

0.21    2010-02-19
        Decomposed large source file into manageable chunks. 
        Added stdin, stdout, stderr options to fork call.

0.16    2010-02-16
        test fixes

0.15    2010-02-13
        Further improvements using setpgrp with timeout option, cleanup.

0.14    2010-02-11
        Bug/test fix for setpgrp issue on Linux.

0.13    2010-02-10
        Added exec and callback options. Added bg_eval function.

0.12    2009-12-31
        Added name attribute. waitpid, dependencies, and job lookup by job 
        name. Fixed named subroutine. Impl tied scalars for $ON_BUSY,
        $QUEUE_INTERRUPT. On child timeout, all child subprocesses are killed.

0.11    2009-12-18
        Fixes for some tests.

0.10    2009-12-08
        Added sockets for IPC ; Changed API for accessing child 
        STDxxx handles.

0.09    2009-12-06
        Require 5.7.3 for "safe" signals -- see perlipc ; refined some tests

0.08    2009-12-03
        job-level debugging ; recommended modules to README and META.yml ;
        os_priority implemented in MSWin32

0.07    2009-12-01
        implement cpu_affinity option for Cygwin, Win32, Linux

0.06    2009-11-25
        pod fixes; adding module config to import method (though this isn't
        documented yet); v5.6 compatibility changes, tested on MSWin32 
        (AS) v5.6.1; may not pass all CPAN testers, but I expect improvement

0.05    2009-11-19
        API Change Forks::Super::Job::_get to Forks::Super::Job::get

0.04    2009-11-14
        Alpha release.
