X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=module_sigrokdecode.c;h=39b5b4392e479a5dfde3fa2985002b50f0e2384c;hp=a0d9610f97f2f415d8956bc2f51fd6fe578a2939;hb=HEAD;hpb=eb88372396c2264948bc05586fb54dc318266973 diff --git a/module_sigrokdecode.c b/module_sigrokdecode.c index a0d9610..1fc0c77 100644 --- a/module_sigrokdecode.c +++ b/module_sigrokdecode.c @@ -42,6 +42,9 @@ static struct PyModuleDef sigrokdecode_module = { PyMODINIT_FUNC PyInit_sigrokdecode(void) { PyObject *mod, *Decoder_type; + PyGILState_STATE gstate; + + gstate = PyGILState_Ensure(); mod = PyModule_Create(&sigrokdecode_module); if (!mod) @@ -60,6 +63,8 @@ PyMODINIT_FUNC PyInit_sigrokdecode(void) goto err_out; if (PyModule_AddIntConstant(mod, "OUTPUT_BINARY", SRD_OUTPUT_BINARY) < 0) goto err_out; + if (PyModule_AddIntConstant(mod, "OUTPUT_LOGIC", SRD_OUTPUT_LOGIC) < 0) + goto err_out; if (PyModule_AddIntConstant(mod, "OUTPUT_META", SRD_OUTPUT_META) < 0) goto err_out; /* Expose meta input symbols. */ @@ -68,11 +73,16 @@ PyMODINIT_FUNC PyInit_sigrokdecode(void) mod_sigrokdecode = mod; + PyGILState_Release(gstate); + return mod; + err_out: Py_XDECREF(mod); srd_exception_catch("Failed to initialize module"); + PyGILState_Release(gstate); return NULL; } + /** @endcond */