X-Git-Url: https://git.lttng.org/?p=lttngtop.git;a=blobdiff_plain;f=src%2Fcputop.c;h=a0ff279e3eb95fc81c6bffa909fb14264c9a4f01;hp=cdc1bdf1e0251875e008b231cf0db6b7fb37c328;hb=2e0a1190d76a53891ca22cfd6082d9b45581d83e;hpb=1dec520a9e8e0654fa7fab2310a0191b2836d424 diff --git a/src/cputop.c b/src/cputop.c index cdc1bdf..a0ff279 100644 --- a/src/cputop.c +++ b/src/cputop.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011 Julien Desfossez + * Copyright (C) 2011-2012 Julien Desfossez * * 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 @@ -10,10 +10,9 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include @@ -49,7 +48,7 @@ void update_cputop_data(unsigned long timestamp, int64_t cpu, int prev_pid, enum bt_cb_ret handle_sched_switch(struct bt_ctf_event *call_data, void *private_data) { - struct definition *scope; + const struct bt_definition *scope; unsigned long timestamp; uint64_t cpu_id; char *prev_comm, *next_comm; @@ -103,7 +102,7 @@ error: enum bt_cb_ret handle_sched_process_free(struct bt_ctf_event *call_data, void *private_data) { - struct definition *scope; + const struct bt_definition *scope; unsigned long timestamp; char *comm; int tid; @@ -121,7 +120,13 @@ enum bt_cb_ret handle_sched_process_free(struct bt_ctf_event *call_data, goto error; } - tid = get_context_tid(call_data); + tid = bt_ctf_get_int64(bt_ctf_get_field(call_data, + scope, "_tid")); + if (bt_ctf_field_get_error()) { + fprintf(stderr, "Missing tid field\n"); + goto error; + } + death_proc(<tngtop, tid, comm, timestamp); return BT_CB_OK;