aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/perf/util/evlist.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index 99b43dd18c57..8065ce8fa9a5 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -821,6 +821,7 @@ int perf_evlist__prepare_workload(struct perf_evlist *evlist,
821 goto out_close_pipes; 821 goto out_close_pipes;
822 } 822 }
823 823
824 fcntl(go_pipe[1], F_SETFD, FD_CLOEXEC);
824 evlist->workload.cork_fd = go_pipe[1]; 825 evlist->workload.cork_fd = go_pipe[1];
825 close(child_ready_pipe[0]); 826 close(child_ready_pipe[0]);
826 return 0; 827 return 0;
@@ -837,10 +838,17 @@ out_close_ready_pipe:
837int perf_evlist__start_workload(struct perf_evlist *evlist) 838int perf_evlist__start_workload(struct perf_evlist *evlist)
838{ 839{
839 if (evlist->workload.cork_fd > 0) { 840 if (evlist->workload.cork_fd > 0) {
841 char bf;
842 int ret;
840 /* 843 /*
841 * Remove the cork, let it rip! 844 * Remove the cork, let it rip!
842 */ 845 */
843 return close(evlist->workload.cork_fd); 846 ret = write(evlist->workload.cork_fd, &bf, 1);
847 if (ret < 0)
848 perror("enable to write to pipe");
849
850 close(evlist->workload.cork_fd);
851 return ret;
844 } 852 }
845 853
846 return 0; 854 return 0;