• Xin Zhao's avatar
    Fix in Nemesis: assign sreq to shm_active_send when headers are sent. · 125304f7
    Xin Zhao authored
    In Nemesis, MPIDI_CH3I_shm_active_send stores the request pointer
    that is currently involved in active sending, which means the headers
    are already sent out, but the data is not sent out yet.
    MPIDI_CH3I_Shm_send_progress() function will go over the request
    queue and make progress when either (1) MPIDI_CH3I_shm_active_send
    is not NULL or (2) queue head is not NULL. For (1), API that
    only sends the data is called, otherwise, API that sends both
    headers and data is called.
    Originally in MPIDI_CH3I_iSendv(), MPIDI_CH3I_shm_active_send is set
    even though headers are not sent out, which is not correct since
    MPIDI_CH3I_Shm_send_progress() function will trigger the API
    that only tries to send the data. This patch fixes this issue.
    Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@anl.gov>