update Time-HiRes to CPAN version 1.9725
authorZefram <zefram@fysh.org>
Wed, 1 Feb 2012 18:06:38 +0000 (18:06 +0000)
committerZefram <zefram@fysh.org>
Wed, 1 Feb 2012 18:08:31 +0000 (18:08 +0000)
- Correct stack discipline in stat(), which was screwing up list
  operations in expressions containing calls to it [rt.cpan.org
  #72926].
- Add missing OUTPUT sections to the XS code [rt.cpan.org #70930].
- Skip itimer tests on GNU/Hurd, which has the API but lacks
  the implementation [rt.cpan.org #72754].
- Fix a doubled word in the documentation [rt.cpan.org #72763].

Porting/Maintainers.pl
cpan/Time-HiRes/Changes
cpan/Time-HiRes/HiRes.pm
cpan/Time-HiRes/HiRes.xs
cpan/Time-HiRes/t/itimer.t
cpan/Time-HiRes/t/stat.t
pod/perldelta.pod

index 667f56b..d6b513f 100755 (executable)
@@ -1897,7 +1897,7 @@ use File::Glob qw(:case);
 
     'Time::HiRes' => {
         'MAINTAINER'   => 'zefram',
-        'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9724.tar.gz',
+        'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9725.tar.gz',
         'FILES'        => q[cpan/Time-HiRes],
         'UPSTREAM'     => 'cpan',
     },
index 206fa75..d5a2831 100644 (file)
@@ -1,5 +1,14 @@
 Revision history for the Perl extension Time::HiRes.
 
+1.9725 [2012-02-01]
+       - Correct stack discipline in stat(), which was screwing up list
+         operations in expressions containing calls to it [rt.cpan.org
+         #72926].
+       - Add missing OUTPUT sections to the XS code [rt.cpan.org #70930].
+       - Skip itimer tests on GNU/Hurd, which has the API but lacks
+         the implementation [rt.cpan.org #72754].
+       - Fix a doubled word in the documentation [rt.cpan.org #72763].
+
 1.9724 [2011-06-09]
        - Correct XS parameter list, and therefore prototype, for
          unimplemented-on-this-platform version of clock_nanosleep()
index 30f954a..5223ba9 100644 (file)
@@ -23,7 +23,7 @@ our @EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval
                 stat
                );
 
-our $VERSION = '1.9724';
+our $VERSION = '1.9725';
 our $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
@@ -276,7 +276,7 @@ if an error occurred.
 B<NOTE 1>: With some combinations of operating systems and Perl
 releases C<SIGALRM> restarts C<select()>, instead of interrupting it.
 This means that an C<alarm()> followed by a C<select()> may together
-take the sum of the times specified for the the C<alarm()> and the
+take the sum of the times specified for the C<alarm()> and the
 C<select()>, not just the time of the C<alarm()>.
 
 Note that the interaction between alarms and sleeps is unspecified.
@@ -586,7 +586,7 @@ Copyright (c) 1996-2002 Douglas E. Wegscheid.  All rights reserved.
 Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Jarkko Hietaniemi.
 All rights reserved.
 
-Copyright (C) 2011 Andrew Main (Zefram) <zefram@fysh.org>
+Copyright (C) 2011, 2012 Andrew Main (Zefram) <zefram@fysh.org>
 
 This program is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
index 32ac768..64e63d6 100644 (file)
@@ -5,7 +5,7 @@
  * Copyright (c) 2002-2010 Jarkko Hietaniemi.
  * All rights reserved.
  *
- * Copyright (C) 2011 Andrew Main (Zefram) <zefram@fysh.org>
+ * Copyright (C) 2011, 2012 Andrew Main (Zefram) <zefram@fysh.org>
  * 
  * This program is free software; you can redistribute it and/or modify
  * it under the same terms as Perl itself.
@@ -849,6 +849,8 @@ nanosleep(nsec)
     CODE:
         croak("Time::HiRes::nanosleep(): unimplemented in this platform");
         RETVAL = 0.0;
+    OUTPUT:
+       RETVAL
 
 #endif /* #if defined(TIME_HIRES_NANOSLEEP) */
 
@@ -897,6 +899,8 @@ usleep(useconds)
     CODE:
         croak("Time::HiRes::usleep(): unimplemented in this platform");
         RETVAL = 0.0;
+    OUTPUT:
+       RETVAL
 
 #endif /* #if defined(HAS_USLEEP) && defined(HAS_GETTIMEOFDAY) */
 
@@ -969,6 +973,8 @@ ualarm(useconds,interval=0)
     CODE:
         croak("Time::HiRes::ualarm(): unimplemented in this platform");
        RETVAL = -1;
+    OUTPUT:
+       RETVAL
 
 NV
 alarm(seconds,interval=0)
@@ -977,6 +983,8 @@ alarm(seconds,interval=0)
     CODE:
         croak("Time::HiRes::alarm(): unimplemented in this platform");
        RETVAL = 0.0;
+    OUTPUT:
+       RETVAL
 
 #endif /* #ifdef HAS_UALARM */
 
@@ -1132,6 +1140,8 @@ clock_gettime(clock_id = 0)
     CODE:
         croak("Time::HiRes::clock_gettime(): unimplemented in this platform");
         RETVAL = 0.0;
+    OUTPUT:
+       RETVAL
 
 #endif /*  #if defined(TIME_HIRES_CLOCK_GETTIME) */
 
@@ -1162,6 +1172,8 @@ clock_getres(clock_id = 0)
     CODE:
         croak("Time::HiRes::clock_getres(): unimplemented in this platform");
         RETVAL = 0.0;
+    OUTPUT:
+       RETVAL
 
 #endif /*  #if defined(TIME_HIRES_CLOCK_GETRES) */
 
@@ -1200,6 +1212,8 @@ clock_nanosleep(clock_id, nsec, flags = 0)
     CODE:
         croak("Time::HiRes::clock_nanosleep(): unimplemented in this platform");
         RETVAL = 0.0;
+    OUTPUT:
+       RETVAL
 
 #endif /*  #if defined(TIME_HIRES_CLOCK_NANOSLEEP) && defined(TIMER_ABSTIME) */
 
@@ -1223,6 +1237,8 @@ clock()
     CODE:
         croak("Time::HiRes::clock(): unimplemented in this platform");
         RETVAL = 0.0;
+    OUTPUT:
+       RETVAL
 
 #endif /*  #if defined(TIME_HIRES_CLOCK) && defined(CLOCKS_PER_SEC) */
 
@@ -1230,7 +1246,6 @@ void
 stat(...)
 PROTOTYPE: ;$
     PPCODE:
-       PUSHMARK(SP);
        XPUSHs(sv_2mortal(newSVsv(items == 1 ? ST(0) : DEFSV)));
        PUTBACK;
        ENTER;
index 7877f63..a9ef80d 100644 (file)
@@ -18,6 +18,7 @@ BEGIN {
            && $Config{sig_name} =~ m/\bVTALRM\b/
            && $^O ne 'nto' # nto: QNX 6 has the API but no implementation
            && $^O ne 'haiku' # haiku: has the API but no implementation
+           && $^O ne 'gnu' # GNU/Hurd: has the API but no implementation
     ) {
        require Test::More;
        Test::More::plan(skip_all => "no itimer");
index 406fdc3..4b81561 100644 (file)
@@ -13,12 +13,11 @@ BEGIN {
     }
 }
 
-use Test::More 0.82 tests => 1;
+use Test::More 0.82 tests => 16;
 use t::Watchdog;
 
 my $limit = 0.25; # 25% is acceptable slosh for testing timers
 
-my @stat;
 my @atime;
 my @mtime;
 for (1..5) {
@@ -26,14 +25,17 @@ for (1..5) {
     open(X, ">$$");
     print X $$;
     close(X);
-    @stat = Time::HiRes::stat($$);
-    push @mtime, $stat[9];
+    my($a, $stat, $b) = ("a", [Time::HiRes::stat($$)], "b");
+    is $a, "a";
+    is $b, "b";
+    is ref($stat), "ARRAY";
+    push @mtime, $stat->[9];
     Time::HiRes::sleep(rand(0.1) + 0.1);
     open(X, "<$$");
     <X>;
     close(X);
-    @stat = Time::HiRes::stat($$);
-    push @atime, $stat[8];
+    $stat = [Time::HiRes::stat($$)];
+    push @atime, $stat->[8];
 }
 1 while unlink $$;
 note "mtime = @mtime";
index 9844115..24e1914 100644 (file)
@@ -178,6 +178,12 @@ L<Pod::Parser> has been upgraded from version 1.37 to version 1.51.
 
 =item *
 
+L<Time::HiRes>  has been upgraded from version 1.9724 to version 1.9725.
+
+There is an important bugfix for C<Time::HiRes::stat()>.
+
+=item *
+
 L<Unicode::UCD> has been upgraded from version 0.39 to 0.40.
 
 The only change is to fix a formatting error in the Pod.