Browse Source

This solves the Xlib unexpected async reply problem by using Gtk->_exit($pid)

with the child process.
master
freesource 24 years ago
parent
commit
5437548890
  1. 9
      gBootRoot

9
gBootRoot

@ -1073,13 +1073,16 @@ sub uml_box {
my $pid; my $pid;
unless ($pid = fork) { unless ($pid = fork) {
unless (fork) { unless (fork) {
if ($pid == 0) {
sys("$entry_advanced[8] $entry_advanced[5] $entry_advanced[9] $entry_advanced[10]"); sys("$entry_advanced[8] $entry_advanced[5] $entry_advanced[9] $entry_advanced[10]");
Gtk->_exit($pid);
}
} }
} }
waitpid($pid,0); waitpid($pid,0);
# sys ("perl -e 'system \"$entry_advanced[8] $entry_advanced[5] $entry_advanced[9] $entry_advanced[10]\";'");
} ); } );
@ -1093,6 +1096,7 @@ sub uml_box {
remove_matching_process($entry_advanced[10]); remove_matching_process($entry_advanced[10]);
# Debian # Debian
remove_matching_process("Virtual Console"); remove_matching_process("Virtual Console");
# Again for good measure :)
remove_matching_process($entry_advanced[10]); remove_matching_process($entry_advanced[10]);
} }
} ); } );
@ -1124,12 +1128,13 @@ sub remove_matching_process {
my $process = (split(/\s+/,$_,))[1]; my $process = (split(/\s+/,$_,))[1];
system "kill $process"; system "kill $process";
} }
# no so friendly approach # not so friendly approach
if (m,$match_word,) { if (m,$match_word,) {
my $process = (split(/\s+/,$_,))[1]; my $process = (split(/\s+/,$_,))[1];
system "kill -9 $process"; system "kill -9 $process";
} }
} }
close(P);
} # end remove_matching_process } # end remove_matching_process

Loading…
Cancel
Save