=cut

=head1 NAME

Sys::SigAction::Changes - List of significant changes

=head1 CHANGES

Revision history for Sys::SigAction.

=head2 Changes in Sys::SigAction 0.12  22 Jun 2011

Fix strict undefined symbol error in timeout.t, when Time::HiRes is not present.
Not sure if constant pragma will exist in all supported perl versions,
so, we just commented out the use strict in this test.

Print warning when Time::HiRes not found in Makefile.PL

=head2 Changes in Sys::SigAction 0.12  20 Jun 2011

Conditionally add 'LICENSE' => 'perl' to WriteMakefile()
call if $ExtUtils::MakeMaker::VERSION >= 6.3002.

Added support for timeout_call() in fractional seconds
expressed as a floating point number.  If Time::HiRes
is not loadable, then the timeout value is raised to the
next high integer value with the POSIX:ceil() funtion.

Added sig_alarm(), which timeout_call uses. This is drop
in replacement for alarm(). If Time::HiRes
is not loadable, then the seconds argument is raised to the
next high integer value with the POSIX:ceil() funtion.

Update sample code to use double evals in response 

   https://rt.cpan.org/Public/Bug/Display.html?id=50628

The bug author wrote: 

   Suppose the eval dies for some reason unrelated to the signal handling
   just before the alarm expires, and then the code exits the eval, and
   then the alarm expires before the final alarm(0) can be called. Now
   either the code will completely die because there is no SIGALRM
   handler in place to catch the signal, or the wrong handler (not the
   local handler) will be called.

Make the same change in timeout_call().  The change traps the 
remote possibility that an alarm signal could arrive 
between the time code dies (for some unrelated reason) and the 
final eval is called or called.


=head2 Changes in Sys::SigAction 0.11  31 Jan 2009

Remove Restriction in License which required permission 
to include in CDROM media for commercial distribution.

License is now Straight GPL or Artistic as Perl is.

Fix safe attribute for perl >= 5.8.2, but applying patch in 
(duplicate) bugs:

   http://rt.cpan.org/Ticket/Display.html?id=39599
   http://rt.cpan.org/Ticket/Display.html?id=39946

Test by cloning mask.t into safe.t in the block for perl => 5.008002 
and test setting safe attribute. Sadly, using both masked signals
and safe=>1 at the same time, is still broken.

Add checks for unsupported configurations in Makefile.PL to (hopefully)
suppress the Smoke test failures for those environments.

Update documentation.

Lincoln

=head2 Changes in Sys::SigAction 0.10  24 Oct 2006

Documentation cleanup, thanks to Tim Maher.

Lincoln

=head2 Changes in Sys::SigAction 0.09  17 Oct 2006

Francesco has pointed out that I still have a special case 
of safe=>0 broken for perl 5.8.0.  

The perl 5.8.1 build I tested with (I could not find 5.8.0)
it turns out has .../lib/5.8.1/auto/POSIX/SigAction/safe.al, 
my previous tests works.

This version of Sys::SigAction now as a test of these
subtleties in t/safe.t, those still no real test of 
safe=>1 for perls >= 5.8.2

Lincoln

=head2 Changes in Sys::SigAction 0.08  11 Oct 2006

Add extra protection to test of $attrs->(safe} when
the perl version is between 5.8 and 5.8.2, thanks to 
Francesco Duranti. Now test for it being defined before
testing it's value.  It would be a pretty bizarre case 
for that to happen, but... belt and suspenders... is 
'safe'.

Fix warning in safe.t which referred to attrs.t (old test name)
which was renamed to mask.t, to refer to mask.t.

Lincoln

=head2 Changes in Sys::SigAction 0.07  09 Oct 2006

Version 0.06 broke in perl < 5.8.2... (who uses that any more!!!)
Well someone does... at least on RedHat... I did (do) claim backwards
compatibility... So I fixed it right this time, by checking the perl 
version before called the safe accessor on the POSIX::SigAction object.

Still no good test for safe mode... be prepared to send me a test
if you think safe signal handling is broken... for sure I could
not get it to work the way I think it should with with deferred 
signals.

Lincoln

=head2 Changes in Sys::SigAction 0.06  25 June 2006

Fix setting of SAFE flag in POSIX::sigaction.  In response
to CPAN bug: http://rt.cpan.org/Ticket/Display.html?id=19916
Thanks to Steve Purk?, for point this out.

This required NOT setting safe=>1 (changing to to safe=>0)
in t/attrs.t and the the dbd-oracle test script.

A new test for safe=>1 needs to be developed, which explicitly tests
deferred signal handling.  I would welcome such a contribution.

Lincoln A Baxter

=head2 Changes in Sys::SigAction 0.05  24 July 2004

Fix typo in POD for mask => thanks to Henri Asseily
This was apparently never uploaded. :-(

Lincoln A Baxter

=head2 Changes in Sys::SigAction 0.04  7 April 2004

Modify forever() in timeout.t so just loop instead of trying
to read from STDIN, which apparently does not block or immediately
returns an error on some platforms or test environments

Lincoln A Baxter
ck 
=head2 Changes in Sys::SigAction 0.03  4 April 2004

Skip attrs.t test if perl version < 5.8.2 (rt.cpan.org ticket #5948)

Rename dbd-oracle-timout.PL -> dbd-oracle-timeout.POD 

=head2 Changes in Sys::SigAction 0.02  3 February 2004

Comment out 'use warnings' for $] < 5.006

Suppress undefined warning in destructor for $] < 5.008

Documentation expansion and cleanup

Add dbd-oracle-timeout.PL 

Lincoln A Baxter

=head2 Original version: Sys::SigAction 0.01  17 January 2004

original version; created by h2xs 1.22 with options:

   --compat-version=5.5.0 -X --name=Sys::SigAction  \
   --use-new-tests --skip-warnings --version=0.01

Lincoln A Baxter

=cut
