Wed Apr 22 11:22:03 2020: Request 132398 was acted upon. Transaction: Correspondence added by vld....@sfr.fr Queue: PAR-Packer Subject: Re: [rt.cpan.org #132398] PAR::Packer and fork Broken in: (no value) Severity: (no value) Owner: Nobody Requestors: vld....@sfr.fr Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=132398 >
Le 22/04/2020 à 15:14, Roderich Schupp via RT a écrit : > <URL: https://rt.cpan.org/Ticket/Display.html?id=132398 > > > On 2020-04-22 08:13:31, vld....@sfr.fr wrote: >> La gestion des fork ne fonctionne pas, fin prématuré de l'exe suivit >> egalement des erreurs Windows > What's the error message? > > Try replacing the wait call with waitpid. > Note: the Windows version of PAR::Packer is special: the custom Perl > interpreter > runs as (spawned) child of the bootstrap process, while on *nix Perl is > exec'ed by bootstrap. > > Cheers, Roderich Changement de la source en : > use strict; > use warnings; > use diagnostics; > use 5.010; > > my $name = 'Foo'; > > say "PID $$"; > my $pid = fork(); > die if not defined $pid; > if (not $pid) { > say "In child ($name) - PID $$ ($pid)"; > $name = 'Qux'; > sleep 2; > say "In child ($name) - PID $$ ($pid)"; > exit; > } > > say "In parent ($name) - PID $$ ($pid)"; > $name = 'Bar'; > sleep 2; > say "In parent ($name) - PID $$ ($pid)"; > > #my $finished = wait(); > my $finished = waitpid -1, 0; > say "In parent ($name) - PID $$ finished $finished"; C'est la même chose, se termine avant d’exécuter la ligne "say "In parent ($name) - PID $$ finished $finished";" sans message d'erreur