r59392 - in /branches/upstream/libforks-perl/current: ./ lib/ lib/forks/ lib/forks/shared/ lib/threads/shared/ t/

carnil-guest at users.alioth.debian.org carnil-guest at users.alioth.debian.org
Mon Jun 14 17:56:28 UTC 2010


Author: carnil-guest
Date: Mon Jun 14 17:55:34 2010
New Revision: 59392

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=59392
Log:
[svn-upgrade] new version libforks-perl (0.34)

Added:
    branches/upstream/libforks-perl/current/t/forks00-requirements.t
Modified:
    branches/upstream/libforks-perl/current/CHANGELOG
    branches/upstream/libforks-perl/current/MANIFEST
    branches/upstream/libforks-perl/current/META.yml
    branches/upstream/libforks-perl/current/README
    branches/upstream/libforks-perl/current/SIGNATURE
    branches/upstream/libforks-perl/current/TODO
    branches/upstream/libforks-perl/current/forks.xs
    branches/upstream/libforks-perl/current/lib/forks.pm
    branches/upstream/libforks-perl/current/lib/forks/shared.pm
    branches/upstream/libforks-perl/current/lib/forks/shared/attributes.pm
    branches/upstream/libforks-perl/current/lib/forks/shared/global_filter.pm
    branches/upstream/libforks-perl/current/lib/forks/signals.pm
    branches/upstream/libforks-perl/current/lib/threads/shared/array.pm
    branches/upstream/libforks-perl/current/lib/threads/shared/handle.pm
    branches/upstream/libforks-perl/current/lib/threads/shared/hash.pm
    branches/upstream/libforks-perl/current/lib/threads/shared/scalar.pm
    branches/upstream/libforks-perl/current/ppport.h
    branches/upstream/libforks-perl/current/t/forks08.t

Modified: branches/upstream/libforks-perl/current/CHANGELOG
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/CHANGELOG?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/CHANGELOG (original)
+++ branches/upstream/libforks-perl/current/CHANGELOG Mon Jun 14 17:55:34 2010
@@ -1,3 +1,32 @@
+0.34 June 14 2010
+	***** Bug fixes *****
+	
+	Fix compatibility with perl 5.11 and later. (RT#56263)
+	(Possible bug in core each() iterator, when using blessed globrefs as hash keys?)
+	
+	Main thread will no longer be ABRT signalled (to exit) if it is already shutting down.
+	
+	Fix usleep behavior on platforms without nanosleep support. (RT#52782)
+	
+	Fix test skip counts in forks08.t. (RT#52781)
+	
+	***** Threads API consistency changes *****
+	
+	Bumped threads $VERSION to 1.77, threads::shared $VERSION to 1.33 to match
+	version-supported features and behavior.
+	
+	***** Miscellaneous changes *****
+	
+	Runtime 'require threads::shared' now correctly loads forks::shared in an ithreads-enabled
+	Perl, as long as 'forks' was loaded first.  Can default to the previous behavior with a
+	true-value environment variable, THREADS_NO_PRELOAD_SHARED. (RT#56139)
+	
+	Use SvGETMAGIC macro instead of mg_get.
+	
+	Add module dependency requirements test.
+	
+	Updated to ppport.h 3.19.
+	
 0.33 April 8 2009
 	***** Bug fixes *****
 	

Modified: branches/upstream/libforks-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/MANIFEST?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/MANIFEST (original)
+++ branches/upstream/libforks-perl/current/MANIFEST Mon Jun 14 17:55:34 2010
@@ -18,6 +18,7 @@
 ppport.h
 README
 SIGNATURE
+t/forks00-requirements.t
 t/forks00-sigtrap.t
 t/forks01.t
 t/forks02.t

Modified: branches/upstream/libforks-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/META.yml?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/META.yml (original)
+++ branches/upstream/libforks-perl/current/META.yml Mon Jun 14 17:55:34 2010
@@ -1,12 +1,14 @@
 --- #YAML:1.0
 name:               forks
-version:            0.33
+version:            0.34
 abstract:           forks - emulate threads with fork
 author:
     - Eric Rybski (rybskej at yahoo.com)
 license:            unknown
 distribution_type:  module
 configure_requires:
+    ExtUtils::MakeMaker:  0
+build_requires:
     ExtUtils::MakeMaker:  0
 requires:
     Acme::Damn:           0
@@ -25,7 +27,7 @@
     directory:
         - t
         - inc
-generated_by:       ExtUtils::MakeMaker version 6.48
+generated_by:       ExtUtils::MakeMaker version 6.56
 meta-spec:
     url:      http://module-build.sourceforge.net/META-spec-v1.4.html
     version:  1.4

Modified: branches/upstream/libforks-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/README?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/README (original)
+++ branches/upstream/libforks-perl/current/README Mon Jun 14 17:55:34 2010
@@ -1,7 +1,7 @@
 README for forks
 
 Version:
- 0.33
+ 0.34
 
 The forks.pm module is a drop-in replacement for threads.pm.  It has the
 same syntax as the threads.pm module (it even takes over its namespace) but

Modified: branches/upstream/libforks-perl/current/SIGNATURE
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/SIGNATURE?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/SIGNATURE (original)
+++ branches/upstream/libforks-perl/current/SIGNATURE Mon Jun 14 17:55:34 2010
@@ -14,27 +14,28 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-SHA1 d6fdbd833e0407ed07fe57dd6d697b57f8b84664 CHANGELOG
+SHA1 caf1c6cc98552b9d6d7fc024f3bcd3019497d5bd CHANGELOG
 SHA1 455b7ebe2265a00e97f133c8cd7ebf56148a573d CREDITS
-SHA1 c918d4ed8f1acf452740801a33f6885e2c47d28e MANIFEST
+SHA1 3b891564aac2c35b5016ba3c6a5d0dfa67b78a62 MANIFEST
 SHA1 0a40de91b5f4169eef3ff3ef456a40b79d056e78 MANIFEST.skip
-SHA1 696fbeb7ffb81e169e77edc28072e005cf54b288 META.yml
+SHA1 e65dfda52c048de13ac9f1c051cc3cbe585e8402 META.yml
 SHA1 24f37b818f36c8c93acf447c05dbb3804a9368ae Makefile.PL
-SHA1 f7d6225860423f7dd7a81c18828dd2cdf2bfb5f3 README
-SHA1 10357d353c270dcdad97a24923845201778e97f7 TODO
+SHA1 e75a558d750f60a93c86932192fe982b0d410281 README
+SHA1 a4ab922a5133b93496f3e5f037b7f9b4684b7555 TODO
 SHA1 b8554457d862188bf4bce3639881d99617bc4529 VERSION
-SHA1 8b16e73ade400e5915771b8548b5a0649911f840 forks.xs
-SHA1 99c811e52702ed51e88a5fa8b8a63c1736a502c2 lib/forks.pm
+SHA1 1c3548011fb1c9210eff34e2ab563e3d42059f29 forks.xs
+SHA1 a77f83a63b52a8fba82b6a321c5796a2b0e085c6 lib/forks.pm
 SHA1 5652c39f2420041f153dfab66fc4a3fc133a025f lib/forks/Devel/Symdump.pm
-SHA1 74e5732b2bc87cbd2e43f9271f8656a987fced7b lib/forks/shared.pm
-SHA1 e3843abed8c10042e611358c6fd814364ccacbac lib/forks/shared/attributes.pm
-SHA1 c3d1005210cd2e4d7bfa84049265502575e66919 lib/forks/shared/global_filter.pm
-SHA1 7854d750f050dfc7647a51c2089fe531dc9a403c lib/forks/signals.pm
-SHA1 a2086fe848ccd84429b6ea56e16a4089ae537e97 lib/threads/shared/array.pm
-SHA1 d551aa10adbc34a19feb657d98ff06c2151dae0c lib/threads/shared/handle.pm
-SHA1 90e06dddf521d4cd1d9f800b820f93d162e9db9e lib/threads/shared/hash.pm
-SHA1 9af7d904161a969ead1ee6ef165820e8b10c2e82 lib/threads/shared/scalar.pm
-SHA1 5663394514567cec7cb9537e7ce6682ffdd8e032 ppport.h
+SHA1 cd37d8f45b342580bbc71e3fae23f6e19422a1f0 lib/forks/shared.pm
+SHA1 bf8c9cdbe2db94440679408334384f0e37eafb16 lib/forks/shared/attributes.pm
+SHA1 2a5fb60f3e373fcb7bd3b0fa64c4627a5476e44b lib/forks/shared/global_filter.pm
+SHA1 0f5cb2beb12425351fd25a41ac3f3ba4eeba8b9b lib/forks/signals.pm
+SHA1 69323faf9b45991bfa344985ac1740ab0a5808c3 lib/threads/shared/array.pm
+SHA1 7612ccf657d6b8b5c2654210eb3b252d2ef9989a lib/threads/shared/handle.pm
+SHA1 5f98eb1924251406f2491c71c5e275688963f541 lib/threads/shared/hash.pm
+SHA1 3425ecf491a0c2b66b6785d0158ecd819cb1397d lib/threads/shared/scalar.pm
+SHA1 c0911c487a42e39c8541d2db1ddd5fd74c7c1986 ppport.h
+SHA1 f22bda39f483db8ddaafd61935c6723d4087a778 t/forks00-requirements.t
 SHA1 e0b161c71a2dba88fa7827c54ab597bf29ba2cdb t/forks00-sigtrap.t
 SHA1 aa7a677571cc9789653d489bc7cab8fbc091773d t/forks01.t
 SHA1 dc739710ac9c97c36f8e2cb77ae5af4aee2e8447 t/forks02.t
@@ -43,7 +44,7 @@
 SHA1 5c172556a690f58812039b10a243376ec2b9d6e3 t/forks05.t
 SHA1 50af07b5275498fd708b4fb2d0de5e28062b33fd t/forks06.t
 SHA1 f8dd4f7c16f7ce96cde23f1953737468fa6bad7f t/forks07.t
-SHA1 d8f2a6f3c54cb33e454026e0f4c4576e0ff65dfb t/forks08.t
+SHA1 4a5951b2c10bfd35e3281c07d4101fbe27779d02 t/forks08.t
 SHA1 b073b28bc806f47dabe93d69dd7e47dc7fe5ee6d t/forks09.t
 SHA1 84f14953836fd57500007907d3a30e9813fdfca3 t/forks10.t
 SHA1 d45ee162070db10b691958fa140d8fc297bd3d90 t/forks20.t
@@ -51,7 +52,7 @@
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.8 (Darwin)
 
-iEYEARECAAYFAkncWl4ACgkQQwn7DcpJEO6znwCfc/hINJZS0wuIngd/oHJ1+l8u
-QpUAoIuKk6VMsLtupu0iKKMO8Q99aWtY
-=kjV9
+iEYEARECAAYFAkwV0vQACgkQQwn7DcpJEO610gCfaCQkK6q7fn4BX61UnYlNVAhi
+IlcAn2jpfXo09widnviXvEBpf4Qxyxv1
+=3geb
 -----END PGP SIGNATURE-----

Modified: branches/upstream/libforks-perl/current/TODO
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/TODO?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/TODO (original)
+++ branches/upstream/libforks-perl/current/TODO Mon Jun 14 17:55:34 2010
@@ -22,7 +22,7 @@
 Consider interfacing with graphical Perl debugger intefaces, to simplify
 multi-threaded debugging; managing multiple TTYs, although supported in different
 terminals (1 per thread), can be conceptually difficult.  Considering interface
-to Devel::PDB.  Open to suggestions, comments, patches.
+to Devel::PDB.  Consider support for Eclipse.  Open to suggestions, comments, patches.
 
 
 ***** Issues to Address *****
@@ -95,6 +95,8 @@
 
 
 ***** Miscellaneous Items *****
+
+Update documentation to discuss fault-tolerance (individual thread can't take down the thread group, even with memory faults like segfault).  Very helpful for high-availability systems.
 
 Consider checking _check_pl_signal_unsafe_flag for any thread signaling behavior,
 and warn user about (or prevent from using) signals (i.e. deadlock detect, $t->kill).

Modified: branches/upstream/libforks-perl/current/forks.xs
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/forks.xs?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/forks.xs (original)
+++ branches/upstream/libforks-perl/current/forks.xs Mon Jun 14 17:55:34 2010
@@ -404,8 +404,7 @@
         if (!SvROK(myref))
             Perl_croak(aTHX_ "Argument to _id needs to be passed as ref");
         myref = SvRV(myref);
-        if (SvMAGICAL(myref))
-            mg_get(myref);
+        SvGETMAGIC(myref);
         if(SvROK(myref))
             myref = SvRV(myref);
 

Modified: branches/upstream/libforks-perl/current/lib/forks.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/lib/forks.pm?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/lib/forks.pm (original)
+++ branches/upstream/libforks-perl/current/lib/forks.pm Mon Jun 14 17:55:34 2010
@@ -1,5 +1,5 @@
 package forks;   # make sure CPAN picks up on forks.pm
-$VERSION = '0.33';
+$VERSION = '0.34';
 
 # Allow external modules to defer shared variable init at require
 
@@ -15,7 +15,7 @@
 # Be strict from now on
 
 BEGIN {
-    $VERSION = '1.72';
+    $VERSION = '1.77';
     $threads        = $threads        = 1; # twice to avoid warnings
     $forks::threads = $forks::threads = 1; # twice to avoid warnings
     $forks::threads_override = $forks::threads_override = 0; # twice to avoid warnings
@@ -108,6 +108,9 @@
 
 use constant EXIT_THREAD_ONLY => 'thread_only';
 use constant EXIT_THREADS_ONLY => 'threads_only';
+
+# (bug?) Perl 5.11+ each function may not correctly set hash iterator when using refs as keys
+use constant RESET_EACH_ITER => $] >= 5.011;
 
 #---------------------------------------------------------------------------
 # Modify Perl's Config.pm to simulate that it was built with ithreads
@@ -246,6 +249,7 @@
 # Initialize thread local hash (key: pid) whether this process is a thread
 # Initialize local flag whether main thread received ABRT signal
 # Initialize local flag whether main thread exited due to ABRT signal
+# Initialize local flag whether main thread should be signalled with ABRT on server shutdown
 # Initialize hash (key: pid) of child thread PIDs
 # Thread local flag whether we're shutting down
 # Thread local flag whether we're shutting down in END block
@@ -259,6 +263,7 @@
 my %ISATHREAD;
 my $MAIN_ABRT_HANDLED = 0;
 my $MAIN_EXIT_WITH_ABRT = 0;
+my $MAIN_EXIT_NO_ABRT = 0;
 my %CHILD_PID;
 my $SHUTTING_DOWN = 0;
 my $SHUTTING_DOWN_END = 0;
@@ -631,7 +636,7 @@
     *Time::HiRes::sleep = *Time::HiRes::sleep = $sub;
 
     if (&Time::HiRes::d_usleep
-        && defined(my $t = eval { Time::HiRes::nanosleep(0) }) && !$@) {
+        && defined(my $t = eval { Time::HiRes::usleep(0) }) && !$@) {
         $proto = prototype 'Time::HiRes::usleep';
         my $usleep = \&Time::HiRes::usleep;
         $sub = sub {
@@ -1491,7 +1496,7 @@
             }
             CORE::kill('SIGKILL', $_) foreach @pidtokill;
             CORE::kill('SIGABRT', $PID_MAIN_THREAD)
-                if CORE::kill(0, $PID_MAIN_THREAD);
+                if !$MAIN_EXIT_NO_ABRT && CORE::kill(0, $PID_MAIN_THREAD);
 
             $QUERY->shutdown(2) if defined $QUERY;
             unlink($PORT) if $THREADS_UNIX && -S $PORT;
@@ -1582,6 +1587,7 @@
  my $clients = keys %WRITE;
  _log( " ! $clients>>" ) if $clients;
 }
+        keys %WRITE if RESET_EACH_ITER;
         my $write = (each %WRITE) || '';
         _update_timedwaiting_idx();
         $curtime = time();
@@ -1666,6 +1672,7 @@
 #   If we have read something already
 #    If we have all we're expecting
 
+        keys %read if RESET_EACH_ITER;
         while (my $client = each %read) {
             if (my $read = length( $read{$client} )) {
                 if ($read == $toread{$client}) {
@@ -1804,6 +1811,7 @@
 #   Reloop if there is still stuff to send there
 #   Make sure we won't check this client again
 
+        keys %DONEWITH if RESET_EACH_ITER;
         while (my $client = each %DONEWITH) {
             next if $RUNNING && exists( $WRITE{$client} );
 _log( " !$CLIENT2TID{$client} shutting down" ) if DEBUG;
@@ -1813,13 +1821,18 @@
 #   Obtain the client object (rather than its stringification)
 #   Remove the client from polling loop
 #   Properly close the client from this end
-#   Mark server to shutdown if we were waiting for this client to exit
+#   If we were waiting for this client to exit
+#    Mark that main thread should not be ABRT signalled, if main thread is shutting down
+#    Mark server to shutdown
 
             my $tid = $CLIENT2TID{$client};
             $client = $TID2CLIENT{$tid};
             $select->remove( $client );
             close( $client );
-            $RUNNING = 0 if $RUNNING eq $client;
+            if ($RUNNING eq $client) {
+                $MAIN_EXIT_NO_ABRT = 1 if $tid == 0;
+                $RUNNING = 0;
+            }
 
 #   Do the clean up
 
@@ -3427,7 +3440,7 @@
 #   Try removing TID from %TIMEDWAITING
 #  Delete any messages that might have been pending for this client
 # Else (it's the main thread shutting down and main thread is parent process)
-#  Reset running flag
+#  Update running flag for pending server shutdown
 # Mark this client for deletion
 # Send result to thread to allow it to shut down
 
@@ -3464,7 +3477,7 @@
             }
         }
     } elsif ($THREADS_INTEGRATED_MODEL) {
-        $RUNNING = 0;
+        $RUNNING = $client;
     }
     $DONEWITH{$client} = undef;
     $WRITE{$client} = $true;    #TODO: make sure socket is still alive, otherwise could cause server to croak on dead socket (need to protect server with correct error state--EPIPE?)
@@ -3740,6 +3753,14 @@
 
 #---------------------------------------------------------------------------
 
+package
+    forks::shared::_preload; # Preload forks::shared for seamless 'require threads::shared'
+
+require forks::shared
+ unless exists( $ENV{'THREADS_NO_PRELOAD_SHARED'} ) && $ENV{'THREADS_NO_PRELOAD_SHARED'};
+
+#---------------------------------------------------------------------------
+
 # Satisfy -require-
 
 1;
@@ -3753,7 +3774,7 @@
 
 =head1 VERSION
 
-This documentation describes version 0.33.
+This documentation describes version 0.34.
 
 =head1 SYNOPSIS
 
@@ -3811,7 +3832,7 @@
   }
   
   # Use forks as a drop-in replacement for an ithreads application
-  perl -Mforks -Mforks::shared threadapplication
+  perl -Mforks threadapplication
   
 See L<threads/"SYNOPSIS"> for more examples.
   
@@ -3845,10 +3866,9 @@
 Since forks overrides core Perl functions, you are *strongly* encouraged to
 load the forks module before any other Perl modules.  This will insure the
 most consistent and stable system behavior.  This can be easily done without
-affecting existing code, like the following examples:
+affecting existing code, like:
 
     perl -Mforks  script.pl
-    perl -Mforks -Mforks::shared  script.pl
 
 =head2 memory usage
 
@@ -4114,7 +4134,7 @@
 thraad group state.  This feature is switched on by defining the environment
 variable C<THREADS_DAEMON_MODEL>.  An example use might be:
 
-    THREADS_DAEMON_MODEL=1 perl -Mforks -Mforks::shared -MPOE threadapplication
+    THREADS_DAEMON_MODEL=1 perl -Mforks -MPOE threadapplication
 
 This function essentially reverses the parent-child relationship between the
 main thread and the thread state process that forks.pm uses.  Extra care has
@@ -4368,7 +4388,7 @@
 =head1 COPYRIGHT
 
 Copyright (c)
- 2005-2009 Eric Rybski <rybskej at yahoo.com>,
+ 2005-2010 Eric Rybski <rybskej at yahoo.com>,
  2002-2004 Elizabeth Mattijsen <liz at dijkmat.nl>.
 All rights reserved.  This program is free software; you can redistribute it
 and/or modify it under the same terms as Perl itself.

Modified: branches/upstream/libforks-perl/current/lib/forks/shared.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/lib/forks/shared.pm?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/lib/forks/shared.pm (original)
+++ branches/upstream/libforks-perl/current/lib/forks/shared.pm Mon Jun 14 17:55:34 2010
@@ -1,5 +1,5 @@
 package forks::shared;    # make sure CPAN picks up on forks::shared.pm
-$VERSION = '0.33';
+$VERSION = '0.34';
 
 use Config ();
 
@@ -35,7 +35,7 @@
 # Do everything by the book from now on
 
 BEGIN {
-    $VERSION  = '1.28';
+    $VERSION  = '1.33';
     $threads_shared = $threads_shared = 1;
 }
 use strict;
@@ -1179,7 +1179,7 @@
 =head1 COPYRIGHT
 
 Copyright (c)
- 2005-2009 Eric Rybski <rybskej at yahoo.com>,
+ 2005-2010 Eric Rybski <rybskej at yahoo.com>,
  2002-2004 Elizabeth Mattijsen <liz at dijkmat.nl>.
 All rights reserved.  This program is free software; you can redistribute it
 and/or modify it under the same terms as Perl itself.

Modified: branches/upstream/libforks-perl/current/lib/forks/shared/attributes.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/lib/forks/shared/attributes.pm?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/lib/forks/shared/attributes.pm (original)
+++ branches/upstream/libforks-perl/current/lib/forks/shared/attributes.pm Mon Jun 14 17:55:34 2010
@@ -1,6 +1,6 @@
 package
     forks::shared::attributes; #hide from PAUSE
-$VERSION = '0.33';
+$VERSION = '0.34';
 
 use Attribute::Handlers;
 

Modified: branches/upstream/libforks-perl/current/lib/forks/shared/global_filter.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/lib/forks/shared/global_filter.pm?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/lib/forks/shared/global_filter.pm (original)
+++ branches/upstream/libforks-perl/current/lib/forks/shared/global_filter.pm Mon Jun 14 17:55:34 2010
@@ -10,7 +10,7 @@
 use List::MoreUtils;
 
 use vars '$VERSION';
-$VERSION = '0.33';
+$VERSION = '0.34';
 
 our @FILTER = ();
 my @_dummy = (*ARGVOUT);

Modified: branches/upstream/libforks-perl/current/lib/forks/signals.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/lib/forks/signals.pm?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/lib/forks/signals.pm (original)
+++ branches/upstream/libforks-perl/current/lib/forks/signals.pm Mon Jun 14 17:55:34 2010
@@ -1,6 +1,6 @@
 package
     forks::signals; #hide from PAUSE
-$VERSION = '0.33';
+$VERSION = '0.34';
 
 use strict;
 use warnings;
@@ -177,7 +177,7 @@
 =head1 COPYRIGHT
 
 Copyright (c)
- 2005-2009 Eric Rybski <rybskej at yahoo.com>.
+ 2005-2010 Eric Rybski <rybskej at yahoo.com>.
 All rights reserved.  This program is free software; you can redistribute it
 and/or modify it under the same terms as Perl itself.
 

Modified: branches/upstream/libforks-perl/current/lib/threads/shared/array.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/lib/threads/shared/array.pm?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/lib/threads/shared/array.pm (original)
+++ branches/upstream/libforks-perl/current/lib/threads/shared/array.pm Mon Jun 14 17:55:34 2010
@@ -3,7 +3,7 @@
 # Make sure we have version info for this module
 # Make sure we do everything by the book from now on
 
-$VERSION = '0.33';
+$VERSION = '0.34';
 use strict;
 use Scalar::Util;
 
@@ -145,7 +145,7 @@
 =head1 COPYRIGHT
 
 Copyright (c)
- 2005-2009 Eric Rybski <rybskej at yahoo.com>,
+ 2005-2010 Eric Rybski <rybskej at yahoo.com>,
  2002-2004 Elizabeth Mattijsen <liz at dijkmat.nl>.
 All rights reserved.  This program is free software; you can redistribute it
 and/or modify it under the same terms as Perl itself.

Modified: branches/upstream/libforks-perl/current/lib/threads/shared/handle.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/lib/threads/shared/handle.pm?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/lib/threads/shared/handle.pm (original)
+++ branches/upstream/libforks-perl/current/lib/threads/shared/handle.pm Mon Jun 14 17:55:34 2010
@@ -3,7 +3,7 @@
 # Make sure we have version info for this module
 # Make sure we do everything by the book from now on
 
-$VERSION = '0.33';
+$VERSION = '0.34';
 use strict;
 
 # Satisfy -require-
@@ -175,7 +175,7 @@
 =head1 COPYRIGHT
 
 Copyright (c)
- 2005-2009 Eric Rybski <rybskej at yahoo.com>,
+ 2005-2010 Eric Rybski <rybskej at yahoo.com>,
  2002-2004 Elizabeth Mattijsen <liz at dijkmat.nl>.
 All rights reserved.  This program is free software; you can redistribute it
 and/or modify it under the same terms as Perl itself.

Modified: branches/upstream/libforks-perl/current/lib/threads/shared/hash.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/lib/threads/shared/hash.pm?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/lib/threads/shared/hash.pm (original)
+++ branches/upstream/libforks-perl/current/lib/threads/shared/hash.pm Mon Jun 14 17:55:34 2010
@@ -3,7 +3,7 @@
 # Make sure we have version info for this module
 # Make sure we do everything by the book from now on
 
-$VERSION = '0.33';
+$VERSION = '0.34';
 use strict;
 use Scalar::Util;
 
@@ -102,7 +102,7 @@
 =head1 COPYRIGHT
 
 Copyright (c)
- 2005-2009 Eric Rybski <rybskej at yahoo.com>,
+ 2005-2010 Eric Rybski <rybskej at yahoo.com>,
  2002-2004 Elizabeth Mattijsen <liz at dijkmat.nl>.
 All rights reserved.  This program is free software; you can redistribute it
 and/or modify it under the same terms as Perl itself.

Modified: branches/upstream/libforks-perl/current/lib/threads/shared/scalar.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/lib/threads/shared/scalar.pm?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/lib/threads/shared/scalar.pm (original)
+++ branches/upstream/libforks-perl/current/lib/threads/shared/scalar.pm Mon Jun 14 17:55:34 2010
@@ -3,7 +3,7 @@
 # Make sure we have version info for this module
 # Make sure we do everything by the book from now on
 
-$VERSION = '0.33';
+$VERSION = '0.34';
 use strict;
 use Scalar::Util;
 
@@ -69,7 +69,7 @@
 =head1 COPYRIGHT
 
 Copyright (c)
- 2005-2009 Eric Rybski <rybskej at yahoo.com>,
+ 2005-2010 Eric Rybski <rybskej at yahoo.com>,
  2002-2004 Elizabeth Mattijsen <liz at dijkmat.nl>.
 All rights reserved.  This program is free software; you can redistribute it
 and/or modify it under the same terms as Perl itself.

Modified: branches/upstream/libforks-perl/current/ppport.h
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/ppport.h?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/ppport.h (original)
+++ branches/upstream/libforks-perl/current/ppport.h Mon Jun 14 17:55:34 2010
@@ -4,7 +4,7 @@
 /*
 ----------------------------------------------------------------------
 
-    ppport.h -- Perl/Pollution/Portability Version 3.16
+    ppport.h -- Perl/Pollution/Portability Version 3.19
 
     Automatically created by Devel::PPPort running under perl 5.008008.
 
@@ -23,8 +23,8 @@
 if (@ARGV && $ARGV[0] eq '--unstrip') {
   eval { require Devel::PPPort };
   $@ and die "Cannot require Devel::PPPort, please install.\n";
-  if (eval $Devel::PPPort::VERSION < 3.16) {
-    die "ppport.h was originally generated with Devel::PPPort 3.16.\n"
+  if (eval $Devel::PPPort::VERSION < 3.19) {
+    die "ppport.h was originally generated with Devel::PPPort 3.19.\n"
       . "Your Devel::PPPort is only version $Devel::PPPort::VERSION.\n"
       . "Please install a newer version, or --unstrip will not work.\n";
   }
@@ -545,15 +545,28 @@
 #endif
 #define INT2PTR(any,d) (any)(PTRV)(d)
 #endif
-#define NUM2PTR(any,d) (any)(PTRV)(d)
-#define PTR2IV(p) INT2PTR(IV,p)
-#define PTR2UV(p) INT2PTR(UV,p)
-#define PTR2NV(p) NUM2PTR(NV,p)
+#endif
+#ifndef PTR2ul
 #if PTRSIZE == LONGSIZE
 #define PTR2ul(p) (unsigned long)(p)
 #else
 #define PTR2ul(p) INT2PTR(unsigned long,p)
 #endif
+#endif
+#ifndef PTR2nat
+#define PTR2nat(p) (PTRV)(p)
+#endif
+#ifndef NUM2PTR
+#define NUM2PTR(any,d) (any)PTR2nat(d)
+#endif
+#ifndef PTR2IV
+#define PTR2IV(p) INT2PTR(IV,p)
+#endif
+#ifndef PTR2UV
+#define PTR2UV(p) INT2PTR(UV,p)
+#endif
+#ifndef PTR2NV
+#define PTR2NV(p) NUM2PTR(NV,p)
 #endif
 #undef START_EXTERN_C
 #undef END_EXTERN_C
@@ -653,6 +666,12 @@
 PL_stack_sp = PL_stack_base + ax + ((off) - 1); \
 return; \
 } STMT_END
+#endif
+#ifndef XSPROTO
+#define XSPROTO(name) void name(pTHX_ CV* cv)
+#endif
+#ifndef SVfARG
+#define SVfARG(p) ((void*)(p))
 #endif
 #ifndef PERL_ABS
 #define PERL_ABS(x) ((x) < 0 ? -(x) : (x))
@@ -789,9 +808,11 @@
 #define PL_dirty dirty
 #define PL_dowarn dowarn
 #define PL_errgv errgv
+#define PL_error_count error_count
 #define PL_expect expect
 #define PL_hexdigit hexdigit
 #define PL_hints hints
+#define PL_in_my in_my
 #define PL_laststatval laststatval
 #define PL_lex_state lex_state
 #define PL_lex_stuff lex_stuff
@@ -845,6 +866,9 @@
 #define PL_lex_state D_PPP_my_PL_parser_var(lex_state)
 #define PL_lex_stuff D_PPP_my_PL_parser_var(lex_stuff)
 #define PL_tokenbuf D_PPP_my_PL_parser_var(tokenbuf)
+#define PL_in_my D_PPP_my_PL_parser_var(in_my)
+#define PL_in_my_stash D_PPP_my_PL_parser_var(in_my_stash)
+#define PL_error_count D_PPP_my_PL_parser_var(error_count)
 #else
 #define PL_parser ((void *) 1)
 #endif
@@ -1251,6 +1275,28 @@
 #ifndef SvREFCNT_inc_simple_void_NN
 #define SvREFCNT_inc_simple_void_NN(sv) (void)(++SvREFCNT((SV*)(sv)))
 #endif
+#ifndef newSV_type
+#if defined(NEED_newSV_type)
+static SV* DPPP_(my_newSV_type)(pTHX_ svtype const t);
+static
+#else
+extern SV* DPPP_(my_newSV_type)(pTHX_ svtype const t);
+#endif
+#ifdef newSV_type
+#undef newSV_type
+#endif
+#define newSV_type(a) DPPP_(my_newSV_type)(aTHX_ a)
+#define Perl_newSV_type DPPP_(my_newSV_type)
+#if defined(NEED_newSV_type) || defined(NEED_newSV_type_GLOBAL)
+SV*
+DPPP_(my_newSV_type)(pTHX_ svtype const t)
+{
+SV* const sv = newSV(0);
+sv_upgrade(sv, t);
+return sv;
+}
+#endif
+#endif
 #if (PERL_BCDVERSION < 0x5006000)
 #define D_PPP_CONSTPV_ARG(x) ((char *) (x))
 #else
@@ -1716,6 +1762,18 @@
 #ifndef SvSHARED_HASH
 #define SvSHARED_HASH(sv) (0 + SvUVX(sv))
 #endif
+#ifndef HvNAME_get
+#define HvNAME_get(hv) HvNAME(hv)
+#endif
+#ifndef HvNAMELEN_get
+#define HvNAMELEN_get(hv) (HvNAME_get(hv) ? (I32)strlen(HvNAME_get(hv)) : 0)
+#endif
+#ifndef GvSVn
+#define GvSVn(gv) GvSV(gv)
+#endif
+#ifndef isGV_with_GP
+#define isGV_with_GP(gv) isGV(gv)
+#endif
 #ifndef WARN_ALL
 #define WARN_ALL 0
 #endif
@@ -1912,6 +1970,15 @@
 #endif
 #ifndef hv_stores
 #define hv_stores(hv, key, val) hv_store(hv, key "", sizeof(key) - 1, val, 0)
+#endif
+#ifndef gv_fetchpvn_flags
+#define gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt)
+#endif
+#ifndef gv_fetchpvs
+#define gv_fetchpvs(name, flags, svt) gv_fetchpvn_flags(name "", sizeof(name) - 1, flags, svt)
+#endif
+#ifndef gv_stashpvs
+#define gv_stashpvs(name, flags) gv_stashpvn(name "", sizeof(name) - 1, flags)
 #endif
 #ifndef SvGETMAGIC
 #define SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END

Added: branches/upstream/libforks-perl/current/t/forks00-requirements.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/t/forks00-requirements.t?rev=59392&op=file
==============================================================================
--- branches/upstream/libforks-perl/current/t/forks00-requirements.t (added)
+++ branches/upstream/libforks-perl/current/t/forks00-requirements.t Mon Jun 14 17:55:34 2010
@@ -1,0 +1,29 @@
+#!/usr/local/bin/perl -w
+BEGIN {
+    if ($ENV{PERL_CORE}) {
+        chdir 't' if -d 't';
+        @INC = '../lib';
+    } elsif (!grep /blib/, @INC) {
+        chdir 't' if -d 't';
+        unshift @INC, ('../blib/lib', '../blib/arch');
+    }
+}
+
+BEGIN {delete $ENV{THREADS_DEBUG}} # no debugging during testing!
+
+use Test::More tests => 7;
+
+use Scalar::Util;
+use File::Spec;
+use Acme::Damn ();
+use Storable ();
+use List::MoreUtils;
+use Sys::SigAction;
+
+ok(!(grep { /set_prototype/ } @Scalar::Util::EXPORT_FAIL), "Scalar::Util appears to have been compiled without XS features: set_prototype.  Try rebuilding Scalar::Util package with `perl Makefile.PL -xs`");
+can_ok( 'Scalar::Util',qw(set_prototype reftype blessed refaddr weaken) );
+can_ok( 'File::Spec',qw(tmpdir) );
+can_ok( 'Acme::Damn',qw(damn) );
+can_ok( 'Storable',qw(freeze thaw) );
+can_ok( 'List::MoreUtils',qw(firstidx minmax uniq) );
+can_ok( 'Sys::SigAction', qw(set_sig_handler) );

Modified: branches/upstream/libforks-perl/current/t/forks08.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libforks-perl/current/t/forks08.t?rev=59392&op=diff
==============================================================================
--- branches/upstream/libforks-perl/current/t/forks08.t (original)
+++ branches/upstream/libforks-perl/current/t/forks08.t Mon Jun 14 17:55:34 2010
@@ -72,7 +72,7 @@
 
 # Check that main thread waits full 5 seconds after CHLD signal
 SKIP: {
-    skip('usleep not supported on this platform',1) unless &Time::HiRes::d_usleep && defined(my $t = eval { &Time::HiRes::usleep(0) }) && !$@;
+    skip('usleep not supported on this platform',2) unless &Time::HiRes::d_usleep && defined(my $t = eval { &Time::HiRes::usleep(0) }) && !$@;
     $t1 = threads->new(sub { sleep 1; });
     $time = &Time::HiRes::usleep(5000000);
     $t1->join();
@@ -83,7 +83,7 @@
 
 # Check that main thread waits full 5 seconds after CHLD signal
 SKIP: {
-    skip('Time::HiRes::nanosleep function not supported on this platform',1)
+    skip('Time::HiRes::nanosleep function not supported on this platform',2)
         unless &Time::HiRes::d_nanosleep && defined(my $t = eval { &Time::HiRes::nanosleep(0) }) && !$@;
     $t1 = threads->new(sub { sleep 1; });
     $time = &Time::HiRes::nanosleep(5000000000);




More information about the Pkg-perl-cvs-commits mailing list