Hello community,

here is the log from the commit of package perl-Sys-SigAction for 
openSUSE:Factory checked in at 2013-11-26 14:41:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Sys-SigAction (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Sys-SigAction.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Sys-SigAction"

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Sys-SigAction/perl-Sys-SigAction.changes    
2013-08-13 10:19:13.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Sys-SigAction.new/perl-Sys-SigAction.changes   
    2013-11-26 14:41:57.000000000 +0100
@@ -1,0 +2,11 @@
+Tue Nov 26 07:33:35 UTC 2013 - [email protected]
+
+- updated to 0.21
+  Remove erroneous note at the end of the POD related to references to
+  this module in DBD:Oracle.  In reality the reference was in DBI, and it
+  is still there.
+  
+  Close pod error bug (which referred to the above paragraph) submitted
+  by the Debian Packaging team.
+
+-------------------------------------------------------------------

Old:
----
  Sys-SigAction-0.20.tar.gz

New:
----
  Sys-SigAction-0.21.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Sys-SigAction.spec ++++++
--- /var/tmp/diff_new_pack.olPjC1/_old  2013-11-26 14:41:58.000000000 +0100
+++ /var/tmp/diff_new_pack.olPjC1/_new  2013-11-26 14:41:58.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Sys-SigAction
-Version:        0.20
+Version:        0.21
 Release:        0
 %define cpan_name Sys-SigAction
 Summary:        Perl extension for Consistent Signal Handling
@@ -30,6 +30,7 @@
 BuildRequires:  perl
 BuildRequires:  perl-macros
 #BuildRequires: perl(Sys::SigAction)
+#BuildRequires: perl(Sys::SigAction::Alarm)
 %{perl_requires}
 
 %description
@@ -40,6 +41,37 @@
 reason it has always been recommended that one do as little as possible in
 a signal handler, and only variables that already exist be manipulated.
 
+Perl 5.8.0 and later versions implements 'safe' signal handling on
+platforms which support the POSIX sigaction() function. This is
+accomplished by having perl note that a signal has arrived, but deferring
+the execution of the signal handler until such time as it is safe to do so.
+Unfortunately these changes can break some existing scripts, if they
+depended on a system routine being interrupted by the signal's arrival. The
+perl 5.8.0 implementation was modified further in version 5.8.2.
+
+From the perl 5.8.2 *perlvar* man page:
+
+   The default delivery policy of signals changed in Perl 5.8.0 
+   from immediate (also known as "unsafe") to deferred, also 
+   known as "safe signals".
+
+The implementation of this changed the 'sa_flags' with which the signal
+handler is installed by perl, and it causes some system routines (like
+connect()) to return EINTR, instead of another error when the signal
+arrives. The problem comes when the code that made the system call sees the
+EINTR code and decides it's going to call it again before returning. Perl
+doesn't do this but some libraries do, including for instance, the Oracle
+OCI library.
+
+Thus the 'deferred signal' approach (as implemented by default in perl 5.8
+and later) results in some system calls being retried prior to the signal
+handler being called by perl. This breaks timeout logic for DBD-Oracle
+which works with earlier versions of perl. This can be particularly vexing,
+when, for instance, the host on which a database resides is not available:
+'DBI->connect()' hangs for minutes before returning an error (and cannot
+even be interrupted with control-C, even when the intended timeout is only
+seconds). This is because SIGINT appears to be deferred as well. 
+
 %prep
 %setup -q -n %{cpan_name}-%{version}
 find . -type f -print0 | xargs -0 chmod 644
@@ -49,6 +81,7 @@
 %{__make} %{?_smp_mflags}
 
 %check
+# MANUAL
 %if ! 0%{?qemu_user_space_build}
 %{__make} test
 %endif

++++++ Sys-SigAction-0.20.tar.gz -> Sys-SigAction-0.21.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-SigAction-0.20/Changes 
new/Sys-SigAction-0.21/Changes
--- old/Sys-SigAction-0.20/Changes      2013-08-05 02:32:59.000000000 +0200
+++ new/Sys-SigAction-0.21/Changes      2013-11-20 12:34:31.000000000 +0100
@@ -8,24 +8,33 @@
 
 Revision history for Sys::SigAction.
 
+=head2 Changes in Sys::SigAction 0.21  20 Nov 2013
+
+Remove erroneous note at the end of the POD related to references to
+this module in DBD:Oracle.  In reality the reference was in DBI, and it
+is still there.
+
+Close pod error bug (which referred to the above paragraph) submitted
+by the Debian Packaging team.
+
 =head2 Changes in Sys::SigAction 0.20  4 Aug 2013
 
 Even if C<Time::HiRes::ualarm()> exists, it may not necessarily
-work. (There were way too many broken smoke tests with were
-the result of this. One reason for this may bave been that the test
-was looking for too small an interval of sub-second timeouts.  On busy 
-systems, this may have been causing tests to fail.
+work. (There were way too many broken smoke tests which might have been
+the result of this). One reason for this may also bave been that the test
+was looking for too small an interval in the sub-second timeout tests.  On 
busy 
+systems, this may also have been causing tests to fail.
 
-Got rid of the attempt at tracking broken environments in timeout.t 
-(the hash structure mentioned in the previous change.
+This version got rid of the attempt at tracking broken environments in 
timeout.t 
+(the hash structure mentioned in the previous change).
 
 The sub-second timer tests now set a timeout at 0.1 seconds, and check
-for a delta time the is less then 0.8 seconds. Proving that they completed
-in under 1 second, but give a wide range of execution time to account
-for busy systems.
+for a delta time that is less than 0.8 seconds. Proving that they completed
+in under 1 second. This provides a 0.7 second range of execution time to 
account
+for busy systems.  Previous tests, only allowed for something less than 0.1 
second.
 
-Also Makefile.PL now looks for C<Time::HiRes::ualarm()>, and tests it.
-If it works, high resolution timeouts are enabled in Sys
+Makefile.PL now looks for C<Time::HiRes::ualarm()>, and tests it.
+If it works, high resolution timeouts are enabled.
 Makefile.PL reports what it finds, and t/timeout.t reports when high
 resolution tests are disabled, but timeout.t should not fail because of
 this... it will just run fewer tests.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-SigAction-0.20/META.yml 
new/Sys-SigAction-0.21/META.yml
--- old/Sys-SigAction-0.20/META.yml     2013-08-05 02:35:55.000000000 +0200
+++ new/Sys-SigAction-0.21/META.yml     2013-11-20 12:41:04.000000000 +0100
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:               Sys-SigAction
-version:            0.20
+version:            0.21
 abstract:           Perl extension for Consistent Signal Handling
 author:
     - Lincoln A. Baxter <lab-at-lincolnbaxter-dot-com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-SigAction-0.20/Makefile.PL 
new/Sys-SigAction-0.21/Makefile.PL
--- old/Sys-SigAction-0.20/Makefile.PL  2013-08-05 02:33:05.000000000 +0200
+++ new/Sys-SigAction-0.21/Makefile.PL  2013-11-20 12:37:56.000000000 +0100
@@ -34,7 +34,7 @@
    This perl has multithread support enabled, this is not a problem for
    single threaded perl applications.
    
-   Please see "MULTITHREAD PERL in the Sys::SigAction POD for more information
+   Please see "MULTITHREAD PERL" in the Sys::SigAction POD for more 
information.
 
    Lincoln
 
@@ -82,14 +82,14 @@
    warn q(
    Smoke testers have discovered that t/mask.t fails on at least
    some verions cygwin. Specific versions of the os and perl
-   and now protected... but others may be found. On this platforms
+   are now protected... but others may be found. On these platforms
    masking signals probably does not work. See the hash reference
    \$broken_platforms for platforms known to be broken.
 
    );
 }
 
-my $SAAD = "lib/Sys/SigAction/" ;
+my $SAAD = "lib/Sys/SigAction" ;
 my $SAA = "$SAAD/Alarm.pm" ;
 print "Writing $SAA\n" ;
 mkdir $SAAD if ( not -d $SAAD );
@@ -152,9 +152,10 @@
       $et = Time::HiRes::time();
       #print "outside forever eval\n" ;
    };
+   Time::HiRes::ualarm( 0 );
    my $delta = $et - $st;
    if ( $delta < 0.8 ) {
-      print q( 
+      print qq( 
    Time::HiRes::ualarm() exists and works.
    High resolution timeouts enabled." 
 );
@@ -162,8 +163,8 @@
    }
    else
    {
-      warn q(
-   Time::HiRes exists on this platform but Time::HiRes::ualarm
+      warn qq(
+   Time::HiRes exists on this platform but Time::HiRes::ualarm()
    appears to be broken.  High resolution timeouts disabled.
 );
    }
@@ -173,7 +174,7 @@
 print "\nWrote $SAA\n" ;
 
 if ( not $hr_works ) {
-   warn q(
+   warn qq(
    Fractional seconds in timeout_call() may be used but will be 
    raised to the next higher integer value with POSIX::ceil().
 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-SigAction-0.20/lib/Sys/SigAction.pm 
new/Sys-SigAction-0.21/lib/Sys/SigAction.pm
--- old/Sys-SigAction-0.20/lib/Sys/SigAction.pm 2013-08-04 23:29:04.000000000 
+0200
+++ new/Sys-SigAction-0.21/lib/Sys/SigAction.pm 2013-11-20 12:29:31.000000000 
+0100
@@ -29,7 +29,7 @@
 
 @ISA = qw( Exporter );
 @EXPORT_OK = qw( set_sig_handler timeout_call sig_name sig_number sig_alarm );
-$VERSION = '0.20';
+$VERSION = '0.21';
 
 use Config;
 my %signame = ();
@@ -535,8 +535,8 @@
 That said, perl documentation for perl threading discusses a a way of
 emulating signals in multi-threaded applications, when safe signals
 is in effect. See perldoc threads and search for THREAD SIGNALLING.
-I have no test of multithreading and this module.  If you thing they
-could used compatibly, and would provide value, patches are welcome.
+I have no test of multithreading and this module.  If you think they
+could be used compatibly and would provide value, patches are welcome.
 
 =head1 AUTHOR
 
@@ -556,11 +556,4 @@
    perldoc perlvar 
    perldoc POSIX
 
-=head NOTE
-
-Recent versions of DBD::Oracle no longer reference this module in the
-POD, so DBD::Oracle may now have solved the connection timeout problem
-internally. For older versions, the dbd-oracle-timeout.pod file provides
-a DBD-Oracle test script, which illustrates the use of this
-module with the DBD-Oracle driver.
 

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to