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

Reply via email to