void abort(void) { pid_t pid_val = my_id(); process_delete(pid_val); while(1); }
int pgqtriga_make_sql(PgqTriggerEvent *ev, StringInfo sql) { TriggerData *tg = ev->tgdata; TupleDesc tupdesc; int i; int attcnt; int need_event = 1; tupdesc = tg->tg_relation->rd_att; /* * Count number of active columns */ for (i = 0, attcnt = 0; i < tupdesc->natts; i++) { if (tupdesc->attrs[i]->attisdropped) continue; attcnt++; } /* * Determine cmdtype and op_data depending on the command type */ if (TRIGGER_FIRED_BY_INSERT(tg->tg_event)) { process_insert(ev, sql); } else if (TRIGGER_FIRED_BY_UPDATE(tg->tg_event)) { need_event = process_update(ev, sql); } else if (TRIGGER_FIRED_BY_DELETE(tg->tg_event)) { process_delete(ev, sql); } else elog(ERROR, "logtriga fired for unhandled event"); return need_event; }
static void _fail(int err, process_create_data *proc) { _reply(err, -1, proc->cb, proc->cookie); if (proc->pcb) { proc->pcb->abort = 1; process_delete(proc->pcb, NULL, NULL); } free(proc); }
void __sys_entry(void * dummy) { #ifdef THREAD_SAFE __thread_state_init(&__ts); #endif main(); process_delete(my_id()); }
static int kill_process(int argc, char **argv) { if (argc != 2) { printf("usage: %s <pid>\n", argv[0]); return 1; } else { pid_t pid = atoi(argv[1]); pid_t ret = process_delete(pid); if(pid != ret) { printf("Process not found or could not be killed.\n"); return -1; } return 0; } }
void __sys_entry(void * bootinfo) { bi_header_t * bi_hdr; bi_hdr = bootinfo; __okl4_bootinfo = bootinfo; //__malloc_init((uintptr_t) bi_hdr->heap_base, (uintptr_t) bi_hdr->heap_end); #ifdef THREAD_SAFE __thread_state_init(&__ts); #endif main(); process_delete(my_id()); }
intptr_t process_command(connection_t *conn){ intptr_t result=OK; char *data=conn->rc->command->data; if(strcmp(data,"get")==0){ result=process_get(conn); }else if(strcmp(data,"set")==0){ result=process_set(conn); }else if(strcmp(data,"version")==0){ process_version(conn); }else if(strcmp(data,"delete")==0){ result=process_delete(conn); }else if(strcmp(data,"quit")==0){ close_connection(conn); }else if(strcmp(data,"stats")==0){ process_stats(conn); }else{ process_client_error(conn,unsupport_command); } return result; }
void rtp_callback_proc(struct rtp *s, rtp_event *e) { struct s_session *sp; int i; assert(s != NULL); assert(e != NULL); sp = get_session(s); if (sp == NULL) { /* Should only happen when SOURCE_CREATED is generated in */ /* rtp_init. */ debug_msg("Could not find session (0x%08lx)\n", (unsigned long)s); return; } if (sp->logger != NULL) { rtpdump_callback(sp->logger, e); } /* If we're a transcoder, add this source as a CSRC on the other session */ if (sp->other_session != NULL) { for (i = 0; i < sp->other_session->rtp_session_count; i++) { rtp_add_csrc(sp->other_session->rtp_session[i], e->ssrc); } } switch (e->type) { case RX_RTP: process_rtp_data(sp, e->ssrc, (rtp_packet*)e->data); break; case RX_RTCP_START: break; case RX_RTCP_FINISH: break; case RX_SR: break; case RX_RR: process_rr(sp, e); break; case RX_RR_EMPTY: break; case RX_SDES: process_sdes(sp, e->ssrc, (rtcp_sdes_item*)e->data); break; case RX_APP: debug_msg("Received application specific report from %08x - and processing it - possible siteid packet\n", e->ssrc); process_app(sp, e->ssrc, (rtcp_app*)e->data); xfree(e->data); break; case RX_BYE: case SOURCE_DELETED: process_delete(sp, e); if (sp->other_session != NULL) { for (i = 0; i < sp->other_session->rtp_session_count; i++) { rtp_del_csrc(sp->other_session->rtp_session[i], e->ssrc); } } break; case SOURCE_CREATED: process_create(sp, e->ssrc); break; case RR_TIMEOUT: process_rr_timeout(sp, e->ssrc, (rtcp_rr*)e->data); break; default: debug_msg("Unknown RTP event (type=%d)\n", e->type); abort(); } }