]> sigrok.org Git - libsigrokdecode.git/blobdiff - module_sigrokdecode.c
avr_isp: Add more parts
[libsigrokdecode.git] / module_sigrokdecode.c
index a0d9610f97f2f415d8956bc2f51fd6fe578a2939..1fc0c77f85f8bc1883ad58aeb4ddd8580913538f 100644 (file)
@@ -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 */