Change 34094 by [EMAIL PROTECTED] on 2008/06/30 07:37:29
Upgrade to Win32-0.38
(including changes to GetCurrentThreadId.t which should have gone into
the 0.37 upgrade, but which I missed then)
Affected files ...
... //depot/perl/ext/Win32/Changes#5 edit
... //depot/perl/ext/Win32/Win32.pm#17 edit
... //depot/perl/ext/Win32/t/GetCurrentThreadId.t#5 edit
Differences ...
==== //depot/perl/ext/Win32/Changes#5 (text) ====
Index: perl/ext/Win32/Changes
--- perl/ext/Win32/Changes#4~34090~ 2008-06-27 07:39:33.000000000 -0700
+++ perl/ext/Win32/Changes 2008-06-30 00:37:29.000000000 -0700
@@ -1,5 +1,9 @@
Revision history for the Perl extension Win32.
+0.38 [2008-06-27]
+ - Fix Cygwin releated problems in t/GetCurrentThreadId.t
+ (Jerry D. Hedden).
+
0.37 [2008-06-26]
- Add Win32::GetCurrentProcessId() function
==== //depot/perl/ext/Win32/Win32.pm#17 (text) ====
Index: perl/ext/Win32/Win32.pm
--- perl/ext/Win32/Win32.pm#16~34090~ 2008-06-27 07:39:33.000000000 -0700
+++ perl/ext/Win32/Win32.pm 2008-06-30 00:37:29.000000000 -0700
@@ -8,7 +8,7 @@
require DynaLoader;
@ISA = qw|Exporter DynaLoader|;
- $VERSION = '0.37';
+ $VERSION = '0.38';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
==== //depot/perl/ext/Win32/t/GetCurrentThreadId.t#5 (text) ====
Index: perl/ext/Win32/t/GetCurrentThreadId.t
--- perl/ext/Win32/t/GetCurrentThreadId.t#4~33625~ 2008-04-01
09:42:04.000000000 -0700
+++ perl/ext/Win32/t/GetCurrentThreadId.t 2008-06-30 00:37:29.000000000
-0700
@@ -3,16 +3,34 @@
use Test;
use Win32;
-plan tests => 1;
+my $fork_emulation = $Config{ccflags} =~ /PERL_IMPLICIT_SYS/;
-# This test relies on the implementation detail that the fork() emulation
-# uses the negative value of the thread id as a pseudo process id.
-if ($Config{ccflags} =~ /PERL_IMPLICIT_SYS/) {
- if (my $pid = fork) {
- waitpid($pid, 0);
+my $tests = $fork_emulation ? 4 : 2;
+plan tests => $tests;
+
+my $pid = $$+0; # make sure we don't copy any magic to $pid
+
+if ($^O eq "cygwin") {
+ skip(!defined &Cygwin::pid_to_winpid,
+ Cygwin::pid_to_winpid($pid),
+ Win32::GetCurrentProcessId());
+}
+else {
+ ok($pid, Win32::GetCurrentProcessId());
+}
+
+if ($fork_emulation) {
+ # This test relies on the implementation detail that the fork() emulation
+ # uses the negative value of the thread id as a pseudo process id.
+ if (my $child = fork) {
+ waitpid($child, 0);
exit 0;
}
ok(-$$, Win32::GetCurrentThreadId());
+
+ # GetCurrentProcessId() should still return the real PID
+ ok($pid, Win32::GetCurrentProcessId());
+ ok($$ != Win32::GetCurrentProcessId());
}
else {
# here we just want to see something.
End of Patch.