On Thu, Apr 24, 2014 at 10:27:33PM +0900, Namhyung Kim wrote: > static void record__sig_exit(int exit_status __maybe_unused, void *arg) > { > - struct record *rec = arg; > - int status; > - > - if (rec->evlist->workload.pid > 0) { > - if (!child_finished) > - kill(rec->evlist->workload.pid, SIGTERM); > - > - wait(&status); > - if (WIFSIGNALED(status)) > - psignal(WTERMSIG(status), rec->progname); > - } > - > - if (signr == -1 || signr == SIGUSR1) > + if (signr == -1) > return; > > signal(signr, SIG_DFL); > }
> +out_child: > + if (forks) { > + int exit_status; > > - return 0; > + if (!child_finished) > + kill(rec->evlist->workload.pid, SIGTERM); > + > + wait(&exit_status); > + > + if (err < 0) > + status = err; > + else if (WIFEXITED(exit_status)) > + status = WEXITSTATUS(exit_status); > + else if (WIFSIGNALED(status)) { signr = WTERMSIG(status); > + psignal(WTERMSIG(status), rec->progname); } > + } else > + status = err; > + > + if (!err && !file->is_pipe) { > + rec->session->header.data_size += rec->bytes_written; > + > + if (!rec->no_buildid) > + process_buildids(rec); > + perf_session__write_header(rec->session, rec->evlist, > + file->fd, true); > + } Should do I suppose; not sure why the psignal() muck is in there, but it don't hurt I suppose. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/