socketpair.t was written in 2001. At that time, Test::More got confused
Nicholas Clark [Tue, 9 Jan 2007 09:58:17 +0000 (09:58 +0000)]
if you forked under it. Test::More 0.47 added support to detect forking
which resolves this. Hence there is now no need to fork() in a BEGIN
block, which causes issues on Win32 due to how pseudofork works.

p4raw-id: //depot/perl@29729

ext/Socket/t/socketpair.t

index e272997..03cb5a4 100644 (file)
@@ -15,13 +15,15 @@ BEGIN {
        print "1..0\n";
        exit 0;
     }
+}
+
+{
+    # This was in the BEGIN block, but since Test::More 0.47 added support to
+    # detect forking, we don't need to fork before Test::More initialises.
 
     # Too many things in this test will hang forever if something is wrong,
     # so we need a self destruct timer. And IO can hang despite an alarm.
 
-    # This is convoluted, but we must fork before Test::More, else child's
-    # Test::More thinks that it ran no tests, and prints a message to that
-    # effect
     if( $can_fork) {
       my $parent = $$;
       $child = fork;