Пример #1
0
void
abort(void)
{
  pid_t pid_val = my_id();
  process_delete(pid_val);
  while(1);
}
Пример #2
0
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;
}
Пример #3
0
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);
}
Пример #4
0
void
__sys_entry(void * dummy)
{

#ifdef THREAD_SAFE
    __thread_state_init(&__ts);
#endif

    main();

	 process_delete(my_id());
}
Пример #5
0
Файл: sosh.c Проект: gz/aos10
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;
	}

}
Пример #6
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());
}
Пример #7
0
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;
}
Пример #8
0
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();
	}
}