• Robert Haas's avatar
    shm_mq: After a send fails with SHM_MQ_DETACHED, later ones should too. · 44339b89
    Robert Haas authored
    Prior to this patch, it was occasionally possible, after shm_mq_sendv
    had previously returned SHM_MQ_DETACHED, for a later shm_mq_sendv
    operation to fail an assertion instead of just again returning
    SHM_MQ_ATTACHED.  From the shm_mq code's point of view, it was
    expecting to be called again with the same arguments, since the
    previous operation had only partially completed.  However, a caller
    who isn't using non-blocking mode won't be prepared to repeat the call
    with the same arguments, and this code shouldn't expect that they
    will.  Repair in such a way that we'll be OK whether the next call
    uses the same arguments or not.
    
    Found by Andreas Seltenreich.  Analysis and sketch of fix by Amit
    Kapila.  Patch by me, reviewed by Amit Kapila.
    44339b89
shm_mq.c 34.8 KB