void Process::OnExited(BOOL _dont_restart) { if (exitCallback) exitCallback(this); /* let's resturt the process */ if (szCmdLine != nullptr && strlen(szCmdLine) && !_dont_restart){ Create(szCmdLine); RegisterExitCallback(exitCallback); } }
void ProgramClass::exit(int status) { if( core()->getIsolate()->getAggregate()->isPrimordial(core()->getIsolate()->getDesc()) ) { exitCallback(); Platform::GetInstance()->exit( status ); } else { GCRef<ClassClosure> workerClass = toplevel()->workerClass(); static_cast<ShellWorkerClass*>((ClassClosure*)workerClass)->getCurrentWorker()->terminate(); } }
void MoreDiamondDialog::keyBackClicked() { exitCallback(NULL); }