
On 2019-02-26, Stephane Wirtel wrote:
I also filled an issue [2] for brotlipy (used by httpbin and requests). The problem is with PyInterpreterState.
I tried compiling psycopg2 today and it has a similar problem:
psycopg/psycopgmodule.c: In function ‘psyco_is_main_interp’: psycopg/psycopgmodule.c:689:18: error: dereferencing pointer to incomplete type ‘PyInterpreterState’ {aka ‘struct _is’} while (interp->next)
That code is inside a function:
/* Return nonzero if the current one is the main interpreter */ static int psyco_is_main_interp(void) ...
I believe the correct fix is to use PEP 3121 per-interpreter module state. I created a new issue:
https://github.com/psycopg/psycopg2/issues/854
I think the fix is not trival as the psycopgmodule.c source code has change a fair bit to use the PEP 3121 APIs.
Regards,
Neil