From 1177844d7a2953bb1e38b22467a5372be7b5e5a4 Mon Sep 17 00:00:00 2001 From: Andrew Friedley Date: Tue, 3 Oct 2006 18:08:48 +0000 Subject: [PATCH] Fixes trac:183. Don't try to acquire ompi_request_lock here, which in all cases is already held. Avoids deadlock that occurs even when threads are enabled and we're running a THREAD_SINGLE app. Reviewed by Galen. This commit was SVN r11957. The following Trac tickets were found above: Ticket 183 --> https://svn.open-mpi.org/trac/ompi/ticket/183 --- ompi/mca/pml/dr/pml_dr_recvreq.h | 2 -- ompi/mca/pml/dr/pml_dr_sendreq.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/ompi/mca/pml/dr/pml_dr_recvreq.h b/ompi/mca/pml/dr/pml_dr_recvreq.h index c11302c49f..4b9363d7eb 100644 --- a/ompi/mca/pml/dr/pml_dr_recvreq.h +++ b/ompi/mca/pml/dr/pml_dr_recvreq.h @@ -122,7 +122,6 @@ do { } \ OPAL_THREAD_UNLOCK((recvreq)->req_mutex); \ \ - OPAL_THREAD_LOCK(&ompi_request_lock); \ opal_list_remove_item(&(recvreq)->req_proc->matched_receives, \ (opal_list_item_t*)(recvreq)); \ \ @@ -142,7 +141,6 @@ do { if( true == recvreq->req_recv.req_base.req_free_called ) { \ MCA_PML_DR_RECV_REQUEST_RETURN( recvreq ); \ } \ - OPAL_THREAD_UNLOCK(&ompi_request_lock); \ } while(0) diff --git a/ompi/mca/pml/dr/pml_dr_sendreq.h b/ompi/mca/pml/dr/pml_dr_sendreq.h index f4c089d37b..038b35556b 100644 --- a/ompi/mca/pml/dr/pml_dr_sendreq.h +++ b/ompi/mca/pml/dr/pml_dr_sendreq.h @@ -246,7 +246,6 @@ do { mca_pml_base_bsend_request_fini((ompi_request_t*)sendreq); \ } \ \ - OPAL_THREAD_LOCK(&ompi_request_lock); \ if( false == sendreq->req_send.req_base.req_ompi.req_complete ) { \ /* Should only be called for long messages (maybe synchronous) */ \ MCA_PML_DR_SEND_REQUEST_MPI_COMPLETE(sendreq); \ @@ -263,7 +262,6 @@ do { ompi_convertor_set_position(&sendreq->req_send.req_convertor, &offset); \ } \ } \ - OPAL_THREAD_UNLOCK(&ompi_request_lock); \ } while (0) /*