forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit75c452a
committed
Block interrupts during HandleParallelMessages().
As noted by Alvaro, there are CHECK_FOR_INTERRUPTS() calls in the shm_mq.cfunctions called by HandleParallelMessages(). I believe they're allunreachable since we always pass nowait = true, but it doesn't seem likea great idea to assume that no such call will ever be reachable fromHandleParallelMessages(). If that did happen, there would be a risk of arecursive call to HandleParallelMessages(), which it does not appear to bedesigned for --- for example, there's nothing that would preventout-of-order processing of received messages. And certainly such casescannot easily be tested. So let's prevent it by holding off interrupts forthe duration of the function. Back-patch to 9.5 which contains identicalcode.Discussion: <14869.1470083848@sss.pgh.pa.us>1 parent93ac14e commit75c452a
1 file changed
+16
-5
lines changedLines changed: 16 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
628 | 628 |
| |
629 | 629 |
| |
630 | 630 |
| |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
631 | 640 |
| |
632 | 641 |
| |
633 | 642 |
| |
634 | 643 |
| |
635 | 644 |
| |
636 | 645 |
| |
637 |
| - | |
638 |
| - | |
639 | 646 |
| |
640 | 647 |
| |
641 | 648 |
| |
| |||
645 | 652 |
| |
646 | 653 |
| |
647 | 654 |
| |
648 |
| - | |
649 |
| - | |
650 |
| - | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
651 | 658 |
| |
652 | 659 |
| |
653 | 660 |
| |
654 | 661 |
| |
| 662 | + | |
| 663 | + | |
655 | 664 |
| |
656 | 665 |
| |
657 | 666 |
| |
| |||
673 | 682 |
| |
674 | 683 |
| |
675 | 684 |
| |
| 685 | + | |
| 686 | + | |
676 | 687 |
| |
677 | 688 |
| |
678 | 689 |
| |
|
0 commit comments
Comments
(0)