diff --git a/ompi/mca/btl/sm/btl_sm_fifo.h b/ompi/mca/btl/sm/btl_sm_fifo.h index 1a780ccd61..b997dc40bf 100644 --- a/ompi/mca/btl/sm/btl_sm_fifo.h +++ b/ompi/mca/btl/sm/btl_sm_fifo.h @@ -10,13 +10,15 @@ do { \ fifo=&(mca_btl_sm_component.fifo[peer_smp_rank][my_smp_rank]); \ \ /* thread lock */ \ - opal_atomic_lock(fifo->head_lock); \ + if(opal_using_threads()) \ + opal_atomic_lock(fifo->head_lock); \ /* post fragment */ \ while(ompi_fifo_write_to_head(hdr, fifo, \ mca_btl_sm_component.sm_mpool) != OMPI_SUCCESS) \ opal_progress(); \ MCA_BTL_SM_SIGNAL_PEER(endpoint_peer); \ - opal_atomic_unlock(fifo->head_lock); \ + if(opal_using_threads()) \ + opal_atomic_unlock(fifo->head_lock); \ } while(0) #endif