Fix volatile vs. pointer confusion

Peter Eisentraut <peter@eisentraut.org>

Commit: 361cabb11d36afaf466d76e1bda1778501137dcf
Author: Peter Eisentraut <peter@eisentraut.org>
Date: 2019-03-15T07:39:12Z
Releases: 9.5.17
Fix volatile vs. pointer confusion

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.  So we need

    PyObject *volatile items;

instead of

    volatile PyObject *items;  /* wrong */

Discussion: https://www.postgresql.org/message-id/flat/f747368d-9e1a-c46a-ac76-3c27da32e8e4%402ndquadrant.com

Files

PathChange+/−
contrib/hstore_plpython/hstore_plpython.c modified +4 −5

Discussion