1
1
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
Этот коммит содержится в:
Andrew Friedley 2006-10-03 18:08:48 +00:00
родитель cd7d87aa7b
Коммит 1177844d7a
2 изменённых файлов: 0 добавлений и 4 удалений

Просмотреть файл

@ -122,7 +122,6 @@ do {
} \ } \
OPAL_THREAD_UNLOCK((recvreq)->req_mutex); \ OPAL_THREAD_UNLOCK((recvreq)->req_mutex); \
\ \
OPAL_THREAD_LOCK(&ompi_request_lock); \
opal_list_remove_item(&(recvreq)->req_proc->matched_receives, \ opal_list_remove_item(&(recvreq)->req_proc->matched_receives, \
(opal_list_item_t*)(recvreq)); \ (opal_list_item_t*)(recvreq)); \
\ \
@ -142,7 +141,6 @@ do {
if( true == recvreq->req_recv.req_base.req_free_called ) { \ if( true == recvreq->req_recv.req_base.req_free_called ) { \
MCA_PML_DR_RECV_REQUEST_RETURN( recvreq ); \ MCA_PML_DR_RECV_REQUEST_RETURN( recvreq ); \
} \ } \
OPAL_THREAD_UNLOCK(&ompi_request_lock); \
} while(0) } while(0)

Просмотреть файл

@ -246,7 +246,6 @@ do {
mca_pml_base_bsend_request_fini((ompi_request_t*)sendreq); \ 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 ) { \ if( false == sendreq->req_send.req_base.req_ompi.req_complete ) { \
/* Should only be called for long messages (maybe synchronous) */ \ /* Should only be called for long messages (maybe synchronous) */ \
MCA_PML_DR_SEND_REQUEST_MPI_COMPLETE(sendreq); \ MCA_PML_DR_SEND_REQUEST_MPI_COMPLETE(sendreq); \
@ -263,7 +262,6 @@ do {
ompi_convertor_set_position(&sendreq->req_send.req_convertor, &offset); \ ompi_convertor_set_position(&sendreq->req_send.req_convertor, &offset); \
} \ } \
} \ } \
OPAL_THREAD_UNLOCK(&ompi_request_lock); \
} while (0) } while (0)
/* /*