• Xin Zhao's avatar
    Bug-fix: guarantee atomicity for FOP and GACC. · bad898f9
    Xin Zhao authored
    
    
    FOP, CAS and GACC are atomic "read-modify-write" operations,
    which means when the target window is defined on a SHM region,
    we need inter-process lock to guarantee the atomicity of the
    entire "read+OP". The current implementation is correct for
    SHM-based RMA operations, but not correct for AM-based RMA
    operations: for SHM-based operations, it protects the entire
    "read+OP", but for AM-based operations, it only protects the
    "OP" part.
    
    This patch fixes this issue by protecting the memory copy to
    temporary buffer and computation together for AM-based operations.
    
    Fix ticket 2226
    Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@anl.gov>
    bad898f9