Fix for a common race condition when running the Sandia mt_send_recv.cc test.
A segfault would occur in mca_pml_ob1_recv_request_progress() when trying to prepare the convertor for unpacking, because the request's req_proc field was NULL. Turns out that we weren't setting the req_proc field in the MCA_PML_OB1_CHECK_SPECIFIC_AND_WILD_RECEIVES_FOR_MATCH macro. Instead of just setting it there I removed the other place req_proc was being set correctly, and instead took care of all the cases at once in mca_pml_ob1_recv_frag_match(). This commit was SVN r12323.
Этот коммит содержится в:
родитель
90be664b9f
Коммит
c752502dee
@ -228,7 +228,6 @@ void mca_pml_ob1_recv_frag_callback(
|
||||
if( generic_recv != (mca_pml_ob1_recv_request_t *) \
|
||||
opal_list_get_end(generic_receives) ) { \
|
||||
\
|
||||
generic_recv->req_recv.req_base.req_proc = proc->ompi_proc; \
|
||||
/* Match made */ \
|
||||
return_match = generic_recv; \
|
||||
\
|
||||
@ -551,6 +550,7 @@ rematch:
|
||||
|
||||
/* if match found, process data */
|
||||
if (match) {
|
||||
match->req_recv.req_base.req_proc = proc->ompi_proc;
|
||||
|
||||
/*
|
||||
* update delivered sequence number information, if needed.
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user