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.
{
CancelRequestPacket *canc = (CancelRequestPacket *) pkt;
int backendPID;
- long cancelAuthCode;
+ int32 cancelAuthCode;
Backend *bp;
#ifndef EXEC_BACKEND
#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