void reach(reachable_types_t* r, uint32_t* next_type_id, ast_t* type, const char* name, ast_t* typeargs) { reachable_method_stack_t* s = NULL; reachable_method(&s, r, next_type_id, type, name, typeargs); handle_stack(s, r, next_type_id); }
void signal_segv(int signum, siginfo_t* info, void*ptr) { act_memleak_mq_mem_t mq_mem_ref; memset(&mq_mem_ref, 0, sizeof(act_memleak_mq_mem_t)); mq_mem_ref.pid = getpid(); handle_stack(mq_mem_ref.u.stack_index, (unsigned int)__builtin_return_address(0)); mq_mem_ref.mq_opcode = ACT_MEMLEAK_MQ_OP_SEGV; memleak_tcp_write(MQ_SERVER_MEM_PORT, (char *)&mq_mem_ref, sizeof(act_memleak_mq_mem_t)); exit(-1); }
void pre_act_memleak_send_mq_op(int op_code, void *p_mem, unsigned int mem_size) { act_memleak_mq_mem_t *p_mq = NULL; p_mq = &send_buf; memset(p_mq, 0, sizeof(act_memleak_mq_mem_t)); p_mq->pid = getpid(); p_mq->p_mem = p_mem; p_mq->mem_size = mem_size; handle_stack(p_mq->u.stack_index, (unsigned int)__builtin_return_address(0)); p_mq->mq_opcode = op_code; memleak_tcp_write(MQ_SERVER_MEM_PORT, (char *)p_mq, sizeof(act_memleak_mq_mem_t)); }
void reach(reach_t* r, ast_t* type, const char* name, ast_t* typeargs, pass_opt_t* opt) { reachable_method(r, type, name, typeargs, opt); handle_stack(r, opt); }