diff options
-rw-r--r-- | perl-install/pkgs.pm | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm index 9a3d6478b..35213e279 100644 --- a/perl-install/pkgs.pm +++ b/perl-install/pkgs.pm @@ -916,15 +916,20 @@ sub install($$$;$$) { } while (scalar(@transToInstall) == 0); #- avoid null transaction, it a nop that cost a bit. } - #- reset file descriptor open too. + #- extract headers for parent as they are used by callback. + extractHeaders($prefix, \@transToInstall, $media->{$medium}); + + #- reset file descriptor open for main process but + #- make sure error trying to change from hdlist are + #- trown from main process too. + install_any::getFile(packageFile($transToInstall[0])); + #- and make sure there are no staling open file descriptor too! install_any::getFile('XXX'); + #- reset ftp handlers before forking, otherwise well ;-( require ftp; ftp::rewindGetFile(); - #- extract headers for parent as they are used by callback. - extractHeaders($prefix, \@transToInstall, $media->{$medium}); - local (*INPUT, *OUTPUT); pipe INPUT, OUTPUT; if (my $pid = fork()) { close OUTPUT; |