From 63935c0da404c0ec4d7aeedf063e6d46dee0b7a8 Mon Sep 17 00:00:00 2001 From: Tim Woodall Date: Tue, 7 Dec 2004 18:14:55 +0000 Subject: [PATCH] corrected cleanup logic This commit was SVN r3733. --- src/mca/ptl/tcp/src/ptl_tcp_proc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mca/ptl/tcp/src/ptl_tcp_proc.c b/src/mca/ptl/tcp/src/ptl_tcp_proc.c index e72557329d..99ac1ba015 100644 --- a/src/mca/ptl/tcp/src/ptl_tcp_proc.c +++ b/src/mca/ptl/tcp/src/ptl_tcp_proc.c @@ -65,6 +65,7 @@ void mca_ptl_tcp_proc_destruct(mca_ptl_tcp_proc_t* proc) /* release resources */ if(NULL != proc->proc_peers) free(proc->proc_peers); + OBJ_DESTRUCT(&proc->proc_lock); } @@ -195,7 +196,9 @@ int mca_ptl_tcp_proc_remove(mca_ptl_tcp_proc_t* ptl_proc, mca_ptl_base_peer_t* p memmove(ptl_proc->proc_peers+i, ptl_proc->proc_peers+i+1, (ptl_proc->proc_peer_count-i-1)*sizeof(mca_ptl_base_peer_t*)); if(--ptl_proc->proc_peer_count == 0) { + OMPI_THREAD_UNLOCK(&ptl_proc->proc_lock); OBJ_RELEASE(ptl_proc); + return OMPI_SUCCESS; } ptl_peer->peer_addr->addr_inuse--; break;