Exemplo n.º 1
0
void netflow_fini(void)
{
    if (--inited) return;

    sock_fini();
    log_category_netflow_fini();
}
Exemplo n.º 2
0
static void __attribute__((destructor)) fi_fini(void)
{
	psmx_fini();
//	rdma_cm_fini();
//	ucma_fini();
	ibv_fini();
//	uv_fini();
	sock_fini();
}
Exemplo n.º 3
0
int edpnet_sock_destroy(edpnet_sock_t sock){
    edpnet_data_t	*ed = &__edpnet_data;
    struct edpnet_sock	*s = sock;

    if(!ed->ed_init){
	log_warn("ednet not inited!\n");
	return -1;
    }

    s->es_status = kEDPNET_SOCK_STATUS_ZERO;
    sock_fini(sock);
    close(s->es_sock);

    emit_destroy(s->es_emit);
    mheap_free(s);

    return 0;
}
Exemplo n.º 4
0
static void serv_worker_cb(uint32_t events, void *data){
    struct edpnet_serv *s = (struct edpnet_serv *)data;
    struct edpnet_sock *sock;

    ASSERT(s != NULL);

    if(events & EPOLLIN){
	sock = mheap_alloc(sizeof(*sock));
	if(sock == NULL){
	    log_warn("no memory for sock!\n");
	    return ;
	}
	memset(sock, 0, sizeof(*sock));

	sock->es_sock = accept(s->es_sock, NULL, NULL);
	if(sock->es_sock < 0){
	    log_warn("accept client fail!\n");
	    return ;
	}
	
	if(sock_init(sock) < 0){
	    sock_fini(sock);
	    mheap_free(sock);
	}else{
	    s->es_cbs->connected(s, sock, s->es_data);
	}
    }

    if(events & EPOLLOUT){
	ASSERT(0);
    }

    if(events & (EPOLLERR | EPOLLHUP)){
	s->es_cbs->close(s, s->es_data);
    }
}
Exemplo n.º 5
0
static void __attribute__((destructor)) fi_fini(void)
{
	psmx_fini();
	ibv_fini();
	sock_fini();
}