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
every OS child procs hangs forever if there is a blocked flock() in a win32 psuedofork #14320
Comments
From @bulk88based on work in ingydotnet/inline-c-pm#31 on HP-UX (any posix perl is good enough for the example)
on Win32 with psuedofork 5.21.6
This is because CloseHandle or kernel mode equivelent during process This bug did/does affect a real world CPAN module so its marked medium related reading So what is the plan for this bug? comments from p5p? Perl Info
|
From @bulk88hang.pluse Fcntl ':flock';
my $file = 'the_lock';
$^F = -1;
if(fork == 0){
sleep 1;
open my $lockfh, '>', $file or die "lockfile $file: $!";
flock($lockfh, LOCK_EX) or die "flock: $!\n";
flock($lockfh, LOCK_UN);
}
open my $lockfh, '>', $file or die "lockfile $file: $!";
flock($lockfh, LOCK_EX) or die "flock: $!\n";
sleep 2;
system($^O eq 'MSWin32' ? 'dir' : 'ls');
flock($lockfh, LOCK_UN); |
From @tonycozThis doesn't hang on Windows 7 x64. Tony |
The RT System itself - Status changed from 'new' to 'open' |
From @bulk88Hangs on Server 2003 R2 SP2 x64 and XP SP3 x86 for me. Ill make a guess and say it hangs on < NT 6.0 kernel. |
From @bulk88Related reading http://blogs.msdn.com/b/oldnewthing/archive/2011/12/02/10243553.aspx -- |
From @bulk88I tested hang.pl on my Win7 32 bit. It didn't hang. That confirms its NT <6 bug. -- |
Migrated from rt.perl.org#123402 (status was 'open')
Searchable as RT123402$
The text was updated successfully, but these errors were encountered: