]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/pipistrello-ols/api.c
usb: Skip add/remove of FD on destroyed source
[libsigrok.git] / src / hardware / pipistrello-ols / api.c
index 3c7fc7b1790c0af6e1c37f33d929bb85523631f7..c467f0cc13197335a9b8e81ca5906deb19a73856 100644 (file)
@@ -17,6 +17,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <config.h>
 #include "protocol.h"
 
 static const uint32_t devopts[] = {
@@ -576,7 +577,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi,
         * buffer.
         */
        sr_dbg("max_samples = %d", devc->max_samples);
-       sr_dbg("limit_samples = %d", devc->limit_samples);
+       sr_dbg("limit_samples = %" PRIu64, devc->limit_samples);
        samplecount = MIN(devc->max_samples, devc->limit_samples);
        sr_dbg("Samplecount = %d", samplecount);
 
@@ -693,7 +694,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi,
        std_session_send_df_header(cb_data, LOG_PREFIX);
 
        /* Hook up a dummy handler to receive data from the device. */
-       sr_session_source_add(sdi->session, 0, G_IO_IN, 10, p_ols_receive_data,
+       sr_session_source_add(sdi->session, -1, 0, 10, p_ols_receive_data,
                        cb_data);
 
        return SR_OK;
@@ -713,7 +714,7 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data)
        write_shortcommand(devc, CMD_RESET);
        write_shortcommand(devc, CMD_RESET);
 
-       sr_session_source_remove(sdi->session, 0);
+       sr_session_source_remove(sdi->session, -1);
 
        /* Send end packet to the session bus. */
        sr_dbg("Sending SR_DF_END.");