perf tools: Pass a fd to perf_file_header__read_pipe()
[linux-2.6-microblaze.git] / tools / perf / util / session.c
index 073c731..d2e27ff 100644 (file)
@@ -102,11 +102,11 @@ static int perf_session__deliver_event(struct perf_session *session,
                                       struct perf_tool *tool,
                                       u64 file_offset);
 
-static int perf_session__open(struct perf_session *session)
+static int perf_session__open(struct perf_session *session, int repipe_fd)
 {
        struct perf_data *data = session->data;
 
-       if (perf_session__read_header(session) < 0) {
+       if (perf_session__read_header(session, repipe_fd) < 0) {
                pr_err("incompatible file format (rerun with -v to learn more)\n");
                return -1;
        }
@@ -186,7 +186,7 @@ static int ordered_events__deliver_event(struct ordered_events *oe,
 }
 
 struct perf_session *__perf_session__new(struct perf_data *data,
-                                        bool repipe,
+                                        bool repipe, int repipe_fd,
                                         struct perf_tool *tool)
 {
        int ret = -ENOMEM;
@@ -211,7 +211,7 @@ struct perf_session *__perf_session__new(struct perf_data *data,
                session->data = data;
 
                if (perf_data__is_read(data)) {
-                       ret = perf_session__open(session);
+                       ret = perf_session__open(session, repipe_fd);
                        if (ret < 0)
                                goto out_delete;