提交 9a946298 编写于 作者: R Robert Haas

Don't dump core if pq_comm_reset() is called before pq_init().

This can happen if an error occurs in a standalone backend.  This bug
was introduced by commit 2bd9e412.

Reported by Álvaro Herrera.
上级 5ede3a31
......@@ -105,9 +105,6 @@ char *Unix_socket_group;
/* Where the Unix socket files are (list of palloc'd strings) */
static List *sock_paths = NIL;
PQcommMethods *PqCommMethods;
/*
* Buffers for low-level I/O.
*
......@@ -154,8 +151,6 @@ static int Lock_AF_UNIX(char *unixSocketDir, char *unixSocketPath);
static int Setup_AF_UNIX(char *sock_path);
#endif /* HAVE_UNIX_SOCKETS */
PQcommMethods PQcommSocketMethods;
static PQcommMethods PqCommSocketMethods = {
socket_comm_reset,
socket_flush,
......@@ -167,6 +162,9 @@ static PQcommMethods PqCommSocketMethods = {
socket_endcopyout
};
PQcommMethods *PqCommMethods = &PqCommSocketMethods;
/* --------------------------------
* pq_init - initialize libpq at backend startup
......@@ -175,7 +173,6 @@ static PQcommMethods PqCommSocketMethods = {
void
pq_init(void)
{
PqCommMethods = &PqCommSocketMethods;
PqSendBufferSize = PQ_SEND_BUFFER_SIZE;
PqSendBuffer = MemoryContextAlloc(TopMemoryContext, PqSendBufferSize);
PqSendPointer = PqSendStart = PqRecvPointer = PqRecvLength = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册