]> granicus.if.org Git - postgresql/commit
Fix volatile vs. pointer confusion
authorPeter Eisentraut <peter@eisentraut.org>
Thu, 14 Mar 2019 07:25:25 +0000 (08:25 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Thu, 14 Mar 2019 07:42:48 +0000 (08:42 +0100)
commit1226d932b4dadc39ba2f9a488e4d784443ea6a78
tree9e6bb1e68733905d5deb4cd27836a8db6228d84f
parent6eebfdc38b173edcd179f422cf7083383edb24bc
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
contrib/hstore_plpython/hstore_plpython.c
contrib/jsonb_plpython/jsonb_plpython.c