postgresql/src/backend/storage/ipc
Robert Haas 4efe26cbd3 shm_mq: Third attempt at fixing nowait behavior in shm_mq_receive.
Commit a1480ec1d3 purported to fix the
problems with commit b2ccb5f4e6, but it
didn't completely fix them.  The problem is that the checks were
performed in the wrong order, leading to a race condition.  If the
sender attached, sent a message, and detached after the receiver
called shm_mq_get_sender and before the receiver called
shm_mq_counterparty_gone, we'd incorrectly return SHM_MQ_DETACHED
before all messages were read.  Repair by reversing the order of
operations, and add a long comment explaining why this new logic is
(hopefully) correct.
2015-11-03 09:12:52 -05:00
..
Makefile Remove some more dead Alpha-specific code. 2015-11-02 19:37:51 -05:00
dsm.c Fix more typos in comments. 2015-05-20 19:45:43 +03:00
dsm_impl.c Don't use function definitions looking like old-style ones. 2015-08-15 17:25:00 +02:00
ipc.c Remove remnants of ImmediateInterruptOK handling. 2015-02-03 23:25:47 +01:00
ipci.c Introduce replication progress tracking infrastructure. 2015-04-29 19:30:53 +02:00
pmsignal.c Use FLEXIBLE_ARRAY_MEMBER in some more places. 2015-02-20 17:32:01 -05:00
procarray.c Remove volatile qualifiers from proc.c and procarray.c 2015-10-16 14:20:36 -04:00
procsignal.c Remove set_latch_on_sigusr1 flag. 2015-10-09 14:31:04 -04:00
shm_mq.c shm_mq: Third attempt at fixing nowait behavior in shm_mq_receive. 2015-11-03 09:12:52 -05:00
shm_toc.c Update copyright for 2015 2015-01-06 11:43:47 -05:00
shmem.c Remove volatile qualifiers from dynahash.c, shmem.c, and sinvaladt.c 2015-10-16 14:14:15 -04:00
shmqueue.c Update copyright for 2015 2015-01-06 11:43:47 -05:00
sinval.c pgindent run for 9.5 2015-05-23 21:35:49 -04:00
sinvaladt.c Remove volatile qualifiers from dynahash.c, shmem.c, and sinvaladt.c 2015-10-16 14:14:15 -04:00
standby.c Update copyright for 2015 2015-01-06 11:43:47 -05:00