mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-24 18:55:04 +08:00
Fix query cancellation.
In commit fe0a0b59
, the datatype used for MyCancelKey and other variables
that store cancel keys were changed from long to uint32, but I missed this
one. That broke query cancellation on platforms where long is wider than 32
bits.
Report by Andres Freund, fix by Michael Paquier.
This commit is contained in:
parent
9790b87f59
commit
81f2e514a9
@ -2216,7 +2216,7 @@ processCancelRequest(Port *port, void *pkt)
|
||||
{
|
||||
CancelRequestPacket *canc = (CancelRequestPacket *) pkt;
|
||||
int backendPID;
|
||||
long cancelAuthCode;
|
||||
int32 cancelAuthCode;
|
||||
Backend *bp;
|
||||
|
||||
#ifndef EXEC_BACKEND
|
||||
@ -2226,7 +2226,7 @@ processCancelRequest(Port *port, void *pkt)
|
||||
#endif
|
||||
|
||||
backendPID = (int) ntohl(canc->backendPID);
|
||||
cancelAuthCode = (long) ntohl(canc->cancelAuthCode);
|
||||
cancelAuthCode = (int32) ntohl(canc->cancelAuthCode);
|
||||
|
||||
/*
|
||||
* See if we have a matching backend. In the EXEC_BACKEND case, we can no
|
||||
|
Loading…
Reference in New Issue
Block a user