diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2016-08-02 16:39:16 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2016-08-02 16:39:21 -0400 |
commit | 75c452a755a0c1e1500362b9bd7976a0be2588d2 (patch) | |
tree | dee606a073be441f8af22d1b0475c126766d4814 /src/tutorial/complex.c | |
parent | 93ac14efb465d3160a77b5f75dad8e4721cee41a (diff) |
Block interrupts during HandleParallelMessages().
As noted by Alvaro, there are CHECK_FOR_INTERRUPTS() calls in the shm_mq.c
functions called by HandleParallelMessages(). I believe they're all
unreachable since we always pass nowait = true, but it doesn't seem like
a great idea to assume that no such call will ever be reachable from
HandleParallelMessages(). If that did happen, there would be a risk of a
recursive call to HandleParallelMessages(), which it does not appear to be
designed for --- for example, there's nothing that would prevent
out-of-order processing of received messages. And certainly such cases
cannot easily be tested. So let's prevent it by holding off interrupts for
the duration of the function. Back-patch to 9.5 which contains identical
code.
Discussion: <14869.1470083848@sss.pgh.pa.us>
Diffstat (limited to 'src/tutorial/complex.c')
0 files changed, 0 insertions, 0 deletions