New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Under win32, there is retry logic to spawn a process again, if the return code is negative, and if errno is set to a couple of specific values. #9323
Comments
From alistair@inrevo.comCreated by alistair@inrevo.comUnder win32, there is retry logic to spawn a process again, if the return This behaves unpredictably. Here's an example: firstly, write a C/C++ program that returns a negative number int main(int argc, char* argv[]) secondly, run it via perl: #!/usr/bin/perl All is OK. Console output shows that minus1.exe is invoked once. thirdly, expand the perl to use an innocuous module: #!/usr/bin/perl Now, when you run this, minus1.exe is executed twice. This is the defect. Now, I've never delved into the source of Perl before, but I've zeroed in int <SNIP> status = win32_spawnvp(flag, if (status < 0 && (errno == ENOEXEC || errno == ENOENT)) { status = win32_spawnvp(flag, It checks errno. But, digging into win32_spawnvp a bit further, it's Perl Info
|
From @sisyphus----- Original Message -----
Even at this stage, I find that minus1.exe is invoked *twice* on most of my I guess "unpredictably" is the key adverb. Cheers, |
The RT System itself - Status changed from 'new' to 'open' |
Migrated from rt.perl.org#54028 (status was 'open')
Searchable as RT54028$
The text was updated successfully, but these errors were encountered: