take snapshot working with last_pos hack
[lttngtop.git] / src / iostreamtop.c
index 33b901938b9356e65690694c297f403483edd84b..7c4a30d56aa3ed506073d6819fe347f8b9dbed33 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011 Mathieu Bain <mathieu.bain@polymtl.ca>
+ * Copyright (C) 2011-2012 Mathieu Bain <mathieu.bain@polymtl.ca>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License Version 2 as
@@ -31,13 +31,17 @@ void add_file(struct processtop *proc, struct files *file, int fd)
        struct files *tmp_file;
        struct processtop *parent;
        int size;
+       int i;
 
        size = proc->process_files_table->len;
        parent = proc->threadparent;
        if (parent)
                insert_file(parent, fd);
        if (size <= fd) {
-               g_ptr_array_set_size(proc->process_files_table, fd);
+               /* Add NULL file structures for undefined FDs */
+               for (i = size; i < fd; i++) {
+                       g_ptr_array_add(proc->process_files_table, NULL);
+               }
                g_ptr_array_add(proc->process_files_table, file);
        } else {
                tmp_file = g_ptr_array_index(proc->process_files_table, fd);
@@ -256,13 +260,13 @@ struct file_history *create_file(struct file_history *history, char *file_name)
 enum bt_cb_ret handle_exit_syscall(struct bt_ctf_event *call_data,
                void *private_data)
 {
-       const struct definition *scope;
+       const struct bt_definition *scope;
        unsigned long timestamp;
        char *comm;
        uint64_t ret, tid;
        uint64_t cpu_id;
 
-       timestamp = bt_ctf_get_timestamp(call_data);
+       timestamp = bt_ctf_get_real_timestamp(call_data);
        if (timestamp == -1ULL)
                goto error;
 
@@ -298,7 +302,7 @@ error:
 enum bt_cb_ret handle_sys_write(struct bt_ctf_event *call_data,
                void *private_data)
 {
-       const struct definition *scope;
+       const struct bt_definition *scope;
        struct processtop *tmp;
        unsigned long timestamp;
        uint64_t cpu_id;
@@ -306,7 +310,7 @@ enum bt_cb_ret handle_sys_write(struct bt_ctf_event *call_data,
        char *procname;
        int fd;
 
-       timestamp = bt_ctf_get_timestamp(call_data);
+       timestamp = bt_ctf_get_real_timestamp(call_data);
        if (timestamp == -1ULL)
                goto error;
 
@@ -339,14 +343,14 @@ enum bt_cb_ret handle_sys_read(struct bt_ctf_event *call_data,
                void *private_data)
 {
        struct processtop *tmp;
-       const struct definition *scope;
+       const struct bt_definition *scope;
        unsigned long timestamp;
        uint64_t cpu_id;
        int64_t tid;
        char *procname;
        int fd;
 
-       timestamp = bt_ctf_get_timestamp(call_data);
+       timestamp = bt_ctf_get_real_timestamp(call_data);
        if (timestamp == -1ULL)
                goto error;
 
@@ -381,14 +385,14 @@ enum bt_cb_ret handle_sys_open(struct bt_ctf_event *call_data,
 {
 
        struct processtop *tmp;
-       const struct definition *scope;
+       const struct bt_definition *scope;
        unsigned long timestamp;
        uint64_t cpu_id;
        int64_t tid;
        char *procname;
        char *file;
 
-       timestamp = bt_ctf_get_timestamp(call_data);
+       timestamp = bt_ctf_get_real_timestamp(call_data);
        if (timestamp == -1ULL)
                goto error;
 
@@ -421,14 +425,14 @@ error:
 enum bt_cb_ret handle_sys_close(struct bt_ctf_event *call_data,
                void *private_data)
 {
-       const struct definition *scope;
+       const struct bt_definition *scope;
        struct processtop *tmp;
        unsigned long timestamp;
        int64_t tid;
        char *procname;
        int fd;
 
-       timestamp = bt_ctf_get_timestamp(call_data);
+       timestamp = bt_ctf_get_real_timestamp(call_data);
        if (timestamp == -1ULL)
                goto error;
 
@@ -458,7 +462,7 @@ error:
 enum bt_cb_ret handle_statedump_file_descriptor(struct bt_ctf_event *call_data,
                void *private_data)
 {
-       const struct definition *scope;
+       const struct bt_definition *scope;
        struct processtop *parent;
        struct files *file;
        unsigned long timestamp;
@@ -466,7 +470,7 @@ enum bt_cb_ret handle_statedump_file_descriptor(struct bt_ctf_event *call_data,
        char *file_name;
        int fd;
 
-       timestamp = bt_ctf_get_timestamp(call_data);
+       timestamp = bt_ctf_get_real_timestamp(call_data);
        if (timestamp == -1ULL)
                goto error;
 
This page took 0.024885 seconds and 4 git commands to generate.