static void qt_sa_sigchld_handler(int signum) { qt_native_write(qt_qprocess_deadChild_pipe[1], "", 1); #if defined (QPROCESS_DEBUG) fprintf(stderr, "*** SIGCHLD\n"); #endif if (qt_sa_old_sigchld_handler && qt_sa_old_sigchld_handler != SIG_IGN) qt_sa_old_sigchld_handler(signum); }
// Called from ProcessManagerThread void QProcessActive::start() { if (qt_rprocess_running(*pproc)) { CActiveScheduler::Add(this); (*pproc)->Logon(iStatus); SetActive(); QPROCESS_DEBUG_PRINT("QProcessActive::start(): Started monitoring for process exit."); } else { QPROCESS_DEBUG_PRINT("QProcessActive::start(): Process doesn't exist or is already dead"); // Assume process has already died qt_native_write(deathPipe, "", 1); errorValue = true; } }