Ejemplo n.º 1
0
static void
event_exit(void)
{
    if (!drmgr_unregister_tls_field(tls_idx) ||
        !drmgr_unregister_thread_init_event(event_thread_init) ||
        !drmgr_unregister_thread_exit_event(event_thread_exit) ||
        !drmgr_unregister_bb_app2app_event(event_bb_app2app) ||
        !drmgr_unregister_bb_insertion_event(event_app_instruction))
        DR_ASSERT(false);

    drx_buf_free(write_buffer);
    drx_buf_free(trace_buffer);
    drutil_exit();
    drreg_exit();
    drmgr_exit();
    drx_exit();
}
Ejemplo n.º 2
0
static void
event_exit(void)
{
    /* we are supposed to have faulted NUM_ITER times per thread, plus 2 more
     * because the callback is called on thread_exit(). Finally, two more for
     * drx_buf_insert_buf_memcpy().
     */
    CHECK(num_faults == NUM_ITER * 2 + 2 + 2,
            "the number of faults don't match up");
    if (!drmgr_unregister_bb_insertion_event(event_app_instruction))
        CHECK(false, "exit failed");
    drx_buf_free(circular_fast);
    drx_buf_free(circular_slow);
    drx_buf_free(trace);
    drmgr_unregister_thread_init_event(event_thread_init);
    drmgr_exit();
    drx_exit();
}
Ejemplo n.º 3
0
static void
event_exit(void)
{
    if (!drmgr_unregister_thread_init_event(event_thread_init) ||
        !drmgr_unregister_bb_insertion_event(event_app_instruction) ||
        drreg_exit() != DRREG_SUCCESS)
        DR_ASSERT(false);

    drx_buf_free(buf);
    drmgr_exit();
    drx_exit();
}