• Home
  • Raw
  • Download

Lines Matching refs:run

83 static void arch_analyzeSignal(run_t* run, int status) {  in arch_analyzeSignal()  argument
95 LOG_D("Process (pid %d) exited normally with status %d", run->pid, WEXITSTATUS(status)); in arch_analyzeSignal()
104 run->pid, status); in arch_analyzeSignal()
109 LOG_D("Process (pid %d) killed by signal %d '%s'", run->pid, termsig, strsignal(termsig)); in arch_analyzeSignal()
121 if (run->global->mutate.mutationsPerRun == 0U && run->global->cfg.useVerifier) { in arch_analyzeSignal()
122 snprintf(newname, sizeof(newname), "%s", run->origFileName); in arch_analyzeSignal()
124 snprintf(newname, sizeof(newname), "%s/%s.PID.%d.TIME.%s.%s", run->global->io.crashDir, in arch_analyzeSignal()
125 arch_sigs[termsig].descr, run->pid, localtmstr, run->global->io.fileExtn); in arch_analyzeSignal()
133 ATOMIC_POST_INC(run->global->cnts.crashesCnt); in arch_analyzeSignal()
134 ATOMIC_POST_INC(run->global->cnts.uniqueCrashesCnt); in arch_analyzeSignal()
137 newname, run->dynamicFile, run->dynamicFileSz, O_CREAT | O_EXCL | O_WRONLY) == false) { in arch_analyzeSignal()
138 LOG_E("Couldn't save crash to '%s'", run->crashFileName); in arch_analyzeSignal()
146 bool arch_launchChild(run_t* run) { in arch_launchChild() argument
152 snprintf(inputFile, sizeof(inputFile), "/dev/fd/%d", run->dynamicFileCopyFd); in arch_launchChild()
155 for (x = 0; x < ARGS_MAX && x < run->global->exe.argc; x++) { in arch_launchChild()
156 if (run->global->exe.persistent || run->global->exe.fuzzStdin) { in arch_launchChild()
157 args[x] = run->global->exe.cmdline[x]; in arch_launchChild()
158 } else if (!strcmp(run->global->exe.cmdline[x], _HF_FILE_PLACEHOLDER)) { in arch_launchChild()
160 } else if (strstr(run->global->exe.cmdline[x], _HF_FILE_PLACEHOLDER)) { in arch_launchChild()
161 const char* off = strstr(run->global->exe.cmdline[x], _HF_FILE_PLACEHOLDER); in arch_launchChild()
162 snprintf(argData, sizeof(argData), "%.*s%s", (int)(off - run->global->exe.cmdline[x]), in arch_launchChild()
163 run->global->exe.cmdline[x], inputFile); in arch_launchChild()
166 args[x] = run->global->exe.cmdline[x]; in arch_launchChild()
187 static bool arch_checkWait(run_t* run) { in arch_checkWait() argument
199 pid_t pid = TEMP_FAILURE_RETRY(waitpid(run->pid, &status, wflags)); in arch_checkWait()
215 arch_analyzeSignal(run, status); in arch_checkWait()
217 if (pid == run->pid && (WIFEXITED(status) || WIFSIGNALED(status))) { in arch_checkWait()
218 if (run->global->exe.persistent) { in arch_checkWait()
220 LOG_W("Persistent mode: pid=%d exited with status: %s", (int)run->pid, in arch_checkWait()
229 void arch_reapChild(run_t* run) { in arch_reapChild() argument
231 if (subproc_persistentModeStateMachine(run)) { in arch_reapChild()
235 subproc_checkTimeLimit(run); in arch_reapChild()
236 subproc_checkTermination(run); in arch_reapChild()
238 if (run->global->exe.persistent) { in arch_reapChild()
240 .fd = run->persistentSock, in arch_reapChild()
245 PLOG_F("poll(fd=%d)", run->persistentSock); in arch_reapChild()
253 int sig = sigtimedwait(&run->global->exe.waitSigSet, NULL, &ts /* 0.25s */); in arch_reapChild()
259 if (arch_checkWait(run)) { in arch_reapChild()
260 run->pid = 0; in arch_reapChild()