]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
processhelp.pm: fix to use the correct null device on Windows
authorViktor Szakats <commit@vsz.me>
Thu, 14 Aug 2025 08:44:43 +0000 (10:44 +0200)
committerViktor Szakats <commit@vsz.me>
Thu, 14 Aug 2025 10:25:15 +0000 (12:25 +0200)
To not create a file named `nul` in the `tests` directory when running
tests with MSYS2/Cygwin Perl (the only supported Perl for Windows).

I imagine this may cause issues when being written in parallel. Also
`nul` is a reserved filename on Windows.

Closes #18282

tests/processhelp.pm

index 571ed5b34d6f2532033a5ae6bf4dc18521692918..deec6de7970bee61967c1364e4156ad44b1ace04 100644 (file)
@@ -65,6 +65,10 @@ use pathhelp qw(
     os_is_win
     );
 
+use globalconfig qw(
+    $dev_null
+    );
+
 #######################################################################
 # portable_sleep uses Time::HiRes::sleep if available and falls back
 # to the classic approach of using select(undef, undef, undef, ...).
@@ -143,7 +147,7 @@ sub pidexists {
             if($^O ne 'MSWin32') {
                 my $filter = "PID eq $pid";
                 # https://ss64.com/nt/tasklist.html
-                my $result = `tasklist -fi \"$filter\" 2>nul`;
+                my $result = `tasklist -fi \"$filter\" 2>$dev_null`;
                 if(index($result, "$pid") != -1) {
                     return -$pid;
                 }
@@ -173,7 +177,7 @@ sub pidterm {
             $pid -= 4194304;
             if($^O ne 'MSWin32') {
                 # https://ss64.com/nt/taskkill.html
-                my $cmd = "taskkill -f -t -pid $pid >nul 2>&1";
+                my $cmd = "taskkill -f -t -pid $pid >$dev_null 2>&1";
                 print "Executing: '$cmd'\n";
                 system($cmd);
                 return;
@@ -198,7 +202,7 @@ sub pidkill {
             $pid -= 4194304;
             if($^O ne 'MSWin32') {
                 # https://ss64.com/nt/taskkill.html
-                my $cmd = "taskkill -f -t -pid $pid >nul 2>&1";
+                my $cmd = "taskkill -f -t -pid $pid >$dev_null 2>&1";
                 print "Executing: '$cmd'\n";
                 system($cmd);
                 return;