]> sigrok.org Git - libsigrokdecode.git/blobdiff - instance.c
type_decoder: Fixup memory leak in Decoder.put() (meta, python)
[libsigrokdecode.git] / instance.c
index 6fbdc01fe7e888c57b43e9ad2a3af6cd5dd2788a..f8cd2c68f66804833d0f41e75e885c27c5b86a4d 100644 (file)
@@ -1255,7 +1255,6 @@ SRD_PRIV int srd_inst_decode(struct srd_decoder_inst *di,
        di->inbuflen = inbuflen;
        di->got_new_samples = TRUE;
        di->handled_all_samples = FALSE;
-       di->want_wait_terminate = FALSE;
 
        /* Signal the thread that we have new data. */
        g_cond_signal(&di->got_new_samples_cond);
@@ -1267,6 +1266,8 @@ SRD_PRIV int srd_inst_decode(struct srd_decoder_inst *di,
                g_cond_wait(&di->handled_all_samples_cond, &di->data_mutex);
        g_mutex_unlock(&di->data_mutex);
 
+       if (di->want_wait_terminate)
+               return SRD_ERR_TERM_REQ;
        return SRD_OK;
 }