mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-17 19:30:00 +08:00
Consistently allow reading of messages from a detached shm_mq.
This was intended to work always, but the previous code only allowed it if at least one message was successfully read by the receiver before the sender detached the queue. Report by Petr Jelinek. Patch by me.
This commit is contained in:
parent
2d00190495
commit
5ec45bb7fa
@ -406,7 +406,8 @@ shm_mq_receive(shm_mq_handle *mqh, Size *nbytesp, void **datap, bool nowait)
|
||||
if (shm_mq_get_sender(mq) == NULL)
|
||||
return SHM_MQ_WOULD_BLOCK;
|
||||
}
|
||||
else if (!shm_mq_wait_internal(mq, &mq->mq_sender, mqh->mqh_handle))
|
||||
else if (!shm_mq_wait_internal(mq, &mq->mq_sender, mqh->mqh_handle)
|
||||
&& shm_mq_get_sender(mq) == NULL)
|
||||
{
|
||||
mq->mq_detached = true;
|
||||
return SHM_MQ_DETACHED;
|
||||
|
Loading…
Reference in New Issue
Block a user