1*dbd550edSchristos# make sure every subprocess has it's exit and that the main one 2*dbd550edSchristos# hasn't 3*dbd550edSchristossub fun { 4*dbd550edSchristos unless ($pid = fork) { 5*dbd550edSchristos unless (fork) { 6*dbd550edSchristos use Tk; 7*dbd550edSchristos $MW = MainWindow->new; 8*dbd550edSchristos $hello = $MW->Button( 9*dbd550edSchristos -text => 'Hello, world', 10*dbd550edSchristos -command => sub {exit;}, 11*dbd550edSchristos ); 12*dbd550edSchristos $hello->pack; 13*dbd550edSchristos MainLoop; 14*dbd550edSchristos } 15*dbd550edSchristos exit 0; 16*dbd550edSchristos } 17*dbd550edSchristos waitpid($pid, 0); 18*dbd550edSchristos} 19*dbd550edSchristos 20*dbd550edSchristos1; 21