From f8f71b9ba03246f2416ee40d572cfa36aab14470 Mon Sep 17 00:00:00 2001 From: George Bosilca Date: Wed, 30 May 2007 18:50:29 +0000 Subject: [PATCH] Correct a threaded problem and make sure we only free what was allocated. This commit was SVN r14803. --- orte/mca/oob/tcp/oob_tcp.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/orte/mca/oob/tcp/oob_tcp.c b/orte/mca/oob/tcp/oob_tcp.c index 2ac041272f..2262225798 100644 --- a/orte/mca/oob/tcp/oob_tcp.c +++ b/orte/mca/oob/tcp/oob_tcp.c @@ -1187,6 +1187,7 @@ int mca_oob_tcp_register_subscription(orte_jobid_t jobid, char *trigger) /* register subscribe callback to receive notification when all processes have registered */ subscription = OBJ_NEW(mca_oob_tcp_subscription_t); subscription->jobid = jobid; + OPAL_THREAD_LOCK(&mca_oob_tcp_component.tcp_lock); opal_list_append(&mca_oob_tcp_component.tcp_subscriptions, &subscription->item); OPAL_THREAD_UNLOCK(&mca_oob_tcp_component.tcp_lock); @@ -1269,7 +1270,6 @@ int mca_oob_tcp_register_contact_info(void) /* extract payload for storage */ if (ORTE_SUCCESS != (rc = orte_dss.unload(buffer, (void**)&(bo.bytes), &(bo.size)))) { ORTE_ERROR_LOG(rc); - free(segment); OBJ_RELEASE(buffer); return rc; } @@ -1282,7 +1282,6 @@ int mca_oob_tcp_register_contact_info(void) values[0]->type = ORTE_BYTE_OBJECT; if (ORTE_SUCCESS != (rc = orte_dss.copy(&(values[0]->data), &bo, ORTE_BYTE_OBJECT))) { ORTE_ERROR_LOG(rc); - free(segment); return rc; } @@ -1295,7 +1294,6 @@ int mca_oob_tcp_register_contact_info(void) "returned for selected oob interfaces.\n", ORTE_NAME_ARGS(orte_process_info.my_name), tmp); ORTE_ERROR_LOG(ORTE_ERROR); - free(segment); free(tmp); free(bo.bytes); return ORTE_ERROR;