From c33954b0763e0ba0b27f1a970e23150d92a48fe1 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Sun, 23 Nov 2003 21:34:40 +0000 Subject: reuse bg_command: - major cleanups - get rid of "kid exited -1 at /usr/lib/libDrakX/network/tools.pm line 182." warnings --- perl-install/keyboard.pm | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'perl-install/keyboard.pm') diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm index 695c8747b..672384eb7 100644 --- a/perl-install/keyboard.pm +++ b/perl-install/keyboard.pm @@ -476,19 +476,15 @@ sub setup { } elsif (-e (my $f = "$ENV{SHARE_PATH}/keymaps/$kmap.bkmap")) { load(scalar cat_($f)); } else { - my $F; - if (my $pid = open $F, "-|") { - local $/ = undef; - eval { load(join('', <$F>)) }; - waitpid $pid, 0; - } else { + my $kid = run_program::bg_command(sub { eval { require packdrake; my $packer = new packdrake("$ENV{SHARE_PATH}/keymaps.cz2", quiet => 1); $packer->extract_archive(undef, "$kmap.bkmap"); }; - c::_exit(0); - } + }); + local $/ = undef; + eval { my $fd = $kid->{fd}; load(join('', <$fd>)) }; } if (-x "/usr/X11R6/bin/setxkbmap") { setxkbmap($keyboard); -- cgit v1.2.1