diff options
| author | Pearu Peterson <pearu.peterson@gmail.com> | 2021-02-09 14:24:50 +0200 |
|---|---|---|
| committer | Pearu Peterson <pearu.peterson@gmail.com> | 2021-02-09 14:24:50 +0200 |
| commit | d32fd54bafc1c98c3b53709c86e7d51db19fe059 (patch) | |
| tree | 75c14d9f809059a3f44051944f5b6096ab8b9f03 /numpy/f2py/cb_rules.py | |
| parent | 7b085eac10d08c49453541a896297f42f09ddfe7 (diff) | |
| download | numpy-d32fd54bafc1c98c3b53709c86e7d51db19fe059.tar.gz | |
MAINT: Debug issue #18341
Diffstat (limited to 'numpy/f2py/cb_rules.py')
| -rw-r--r-- | numpy/f2py/cb_rules.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/numpy/f2py/cb_rules.py b/numpy/f2py/cb_rules.py index 60bc1ad11..9efb9683b 100644 --- a/numpy/f2py/cb_rules.py +++ b/numpy/f2py/cb_rules.py @@ -40,6 +40,15 @@ typedef struct { jmp_buf jmpbuf; } #name#_t; +static void show_#name#(#name#_t *ptr) { + if (ptr != NULL) { + CFUNCSMESSPY(\"show_#name#: capi=\", ptr->capi); + CFUNCSMESSPY(\"show_#name#: args_capi=\", ptr->args_capi); + } else { + CFUNCSMESS(\"show_#name#: ptr=NULL"); + } +} + #if defined(F2PY_THREAD_LOCAL_DECL) && !defined(F2PY_USE_PYTHON_TLS) static F2PY_THREAD_LOCAL_DECL #name#_t *_active_#name# = NULL; @@ -82,6 +91,11 @@ static #name#_t *get_active_#name#(void) { f2py_cb_start_clock(); #endif cb = get_active_#name#(); + show_#name#(cb); + if (cb == NULL) { + PyErr_SetString(#modulename#_error,\"cb: No active callback #name#!\\n\"); + goto capi_fail; + } capi_arglist = cb->args_capi; CFUNCSMESS(\"cb:Call-back function #name# (maxnofargs=#maxnofargs#(-#nofoptargs#))\\n\"); CFUNCSMESSPY(\"cb:#name#_capi=\",cb->capi); @@ -180,7 +194,7 @@ capi_return_pt: } #endtitle# """, - 'need': ['setjmp.h', 'CFUNCSMESS', 'F2PY_THREAD_LOCAL_DECL'], + 'need': ['setjmp.h', 'CFUNCSMESS', 'CFUNCSMESSPY', 'F2PY_THREAD_LOCAL_DECL'], 'maxnofargs': '#maxnofargs#', 'nofoptargs': '#nofoptargs#', 'docstr': """\ |
