Exemplo n.º 1
0
void ucp_ep_destroy(ucp_ep_h ep)
{
    ucp_worker_h worker = ep->worker;

    ucs_debug("destroy ep %p", ep);

    UCS_ASYNC_BLOCK(&worker->async);
    ucp_ep_delete_from_hash(ep);
    ucp_ep_destory_uct_eps(ep);
    UCS_ASYNC_UNBLOCK(&worker->async);

    ucs_free(ep);
}
Exemplo n.º 2
0
Arquivo: ucp_ep.c Projeto: alex--m/ucx
static void ucp_ep_disconnected(ucp_request_t *req)
{
    ucp_ep_h ep = req->send.ep;

    if (ep->flags & UCP_EP_FLAG_REMOTE_CONNECTED) {
        /* Endpoints which have remote connection are destroyed only when the
         * worker is destroyed, to enable remote endpoints keep sending
         * TODO negotiate disconnect.
         */
        ucs_trace("not destroying ep %p because of connection from remote", ep);
        return;
    }

    ucp_ep_delete_from_hash(ep);
    ucp_ep_destroy_internal(ep, " from disconnect");
}
Exemplo n.º 3
0
Arquivo: ucp_ep.c Projeto: alex--m/ucx
static void ucp_ep_delete(ucp_ep_h ep)
{
    ucp_ep_delete_from_hash(ep);
    ucs_free(ep);
}