- Instead of doing the unlock inside the if, just move the if-statement
later after the mandatory unlock. This commit was SVN r8885.
Этот коммит содержится в:
родитель
a0d3ddd267
Коммит
7ac0ffc349
@ -366,20 +366,17 @@ int mca_btl_sm_component_progress(void)
|
||||
* translation is necessary when accessing the fifo. Hence,
|
||||
* we use the _same_base_addr varient. */
|
||||
frag = (mca_btl_sm_frag_t *)
|
||||
ompi_fifo_read_from_tail_same_base_addr( fifo );
|
||||
if( OMPI_CB_FREE == frag ) {
|
||||
/* release thread lock */
|
||||
if( opal_using_threads() ) {
|
||||
opal_atomic_unlock(&(fifo->tail_lock));
|
||||
}
|
||||
continue;
|
||||
}
|
||||
ompi_fifo_read_from_tail_same_base_addr( fifo );
|
||||
|
||||
/* release thread lock */
|
||||
if( opal_using_threads() ) {
|
||||
opal_atomic_unlock(&(fifo->tail_lock));
|
||||
}
|
||||
|
||||
if( OMPI_CB_FREE == frag ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* dispatch fragment by type */
|
||||
switch(frag->type) {
|
||||
case MCA_BTL_SM_FRAG_ACK:
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user