From a PostgreSQL commit message:
Variables used after a longjmp() need to be declared volatile. In
case of a pointer, it's the pointer itself that needs to be declared
volatile, not the pointed-to value.
Same thing can be said to:
volatile StartupPacket *sp;
This should have been:
StartupPacket *volatile sp;
This also suppresses a compiler warning.
if(front_end_fd > 0)
{
POOL_CONNECTION *cp;
- volatile StartupPacket *sp;
+ StartupPacket *volatile sp;
/*
* we do not want to report socket error, as above errors