summaryrefslogtreecommitdiff
path: root/src/include/libpq
diff options
context:
space:
mode:
authorRobert Haas2015-10-16 13:42:33 +0000
committerRobert Haas2015-10-16 13:42:33 +0000
commit2ad5c27bb565c26a4b12ea3343331c80f121f269 (patch)
tree9e4541141b2ea1870ac1097d40777c20fcbba2ea /src/include/libpq
parent3587cbc34fe87e1bde6c202daba791b68e44cb3a (diff)
Don't send protocol messages to a shm_mq that no longer exists.
Commit 2bd9e412f92bc6a68f3e8bcb18e04955cc35001d introduced a mechanism for relaying protocol messages from a background worker to another backend via a shm_mq. However, there was no provision for shutting down the communication channel. Therefore, a protocol message sent late in the shutdown sequence, such as a DEBUG message resulting from cranking up log_min_messages, could crash the server. To fix, install an on_dsm_detach callback that disables sending messages to the shm_mq when the associated DSM is detached.
Diffstat (limited to 'src/include/libpq')
-rw-r--r--src/include/libpq/pqmq.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/include/libpq/pqmq.h b/src/include/libpq/pqmq.h
index 901756596a..97f17da89d 100644
--- a/src/include/libpq/pqmq.h
+++ b/src/include/libpq/pqmq.h
@@ -16,7 +16,7 @@
#include "lib/stringinfo.h"
#include "storage/shm_mq.h"
-extern void pq_redirect_to_shm_mq(shm_mq *, shm_mq_handle *);
+extern void pq_redirect_to_shm_mq(dsm_segment *seg, shm_mq_handle *mqh);
extern void pq_set_parallel_master(pid_t pid, BackendId backend_id);
extern void pq_parse_errornotice(StringInfo str, ErrorData *edata);