http://qs321.pair.com?node_id=498719

jryan has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying to use fork in the middle of a Perl tk application on Win32 (Activestate v5.8.7). What I'd like to do is shell out to an external application without making the TK engine freeze while its waiting on the system'd process to finish. The obvious solution to this is to use fork, but when I try it:
my $pid = fork; if (!defined($pid)) { # display an error window return; } elsif () { # ... # generate temp.tcl exec("wish temp.tcl"); } else { return; }
I get a crazy panic: restartop error. Nothing beyond that. perldiag2 claims its something about the interpreter is trying to goto somewhere it can't, but that doesn't help me. Taking out the fork-code causes my application to work fine (beyond the freezing while its waiting for the subprocess to finish). Does anyone have any ideas?