Posted by 0xced:
Rainer Brockerhoff wrote:
[task launch]; [NSApp terminate:nil];
No need to pass the calling program’s process identifier, and it works from Tiger (10.4) on up.
Although unlikely, the task may be faster to execute than [NSApp terminate:] and the relaunch process would thus fail. By listening to the termination of the calling process, you are guaranteed to always relaunch.
Edit: I’m wrong, Rainer just pointed to me that the task can’t terminate since its first line is a read on the input pipe and it will block there.
Leave a Comment