]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/demo/demo.c
libsigrok: demo: close pipes on dev_acquisition_stop()
[libsigrok.git] / src / hardware / demo / demo.c
index 5128b9dc652094b75790d626fae7b2936bdc7f10..920c1e4d6c93b33d79b0a1021d6e3d64373d8c98 100644 (file)
@@ -278,7 +278,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
        int num_logic_channels, num_analog_channels, pattern, i;
        char channel_name[16];
 
-       drvc = di->priv;
+       drvc = di->context;
 
        num_logic_channels = DEFAULT_NUM_LOGIC_CHANNELS;
        num_analog_channels = DEFAULT_NUM_ANALOG_CHANNELS;
@@ -370,7 +370,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
 
 static GSList *dev_list(const struct sr_dev_driver *di)
 {
-       return ((struct drv_context *)(di->priv))->instances;
+       return ((struct drv_context *)(di->context))->instances;
 }
 
 static int dev_open(struct sr_dev_inst *sdi)
@@ -901,6 +901,8 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data)
        g_io_channel_shutdown(devc->channel, FALSE, NULL);
        g_io_channel_unref(devc->channel);
        devc->channel = NULL;
+       close(devc->pipe_fds[0]);
+       close(devc->pipe_fds[1]);
 
        /* Send last packet. */
        packet.type = SR_DF_END;
@@ -925,5 +927,5 @@ SR_PRIV struct sr_dev_driver demo_driver_info = {
        .dev_close = dev_close,
        .dev_acquisition_start = dev_acquisition_start,
        .dev_acquisition_stop = dev_acquisition_stop,
-       .priv = NULL,
+       .context = NULL,
 };