summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/pgxc/squeue/squeue.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/backend/pgxc/squeue/squeue.c b/src/backend/pgxc/squeue/squeue.c
index 655cf32527..fbe20d4a23 100644
--- a/src/backend/pgxc/squeue/squeue.c
+++ b/src/backend/pgxc/squeue/squeue.c
@@ -948,6 +948,13 @@ SharedQueueReset(SharedQueue squeue, int consumerIdx)
{
SQueueSync *sqsync = squeue->sq_sync;
+ /*
+ * We may have already cleaned up, but then an abort signalled us to clean up.
+ * Avoid segmentation fault on abort
+ */
+ if (!sqsync)
+ return;
+
if (consumerIdx == -1)
{
int i;