X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fcommon%2Fusb.c;h=8d4224d1e35545579e5ab5c7c6b2c5b94f99defb;hb=c1bcb8cc633cc69ce4a872f59ec2b686bc00bd04;hp=c4d78f90a236acd036c4ad7e60a1ea902f225fa1;hpb=6640324f7f2730dc5a120af90a849b8d8fee52fa;p=libsigrok.git diff --git a/hardware/common/usb.c b/hardware/common/usb.c index c4d78f90..8d4224d1 100644 --- a/hardware/common/usb.c +++ b/hardware/common/usb.c @@ -33,14 +33,7 @@ #define SUBCLASS_USBTMC 0x03 #define USBTMC_USB488 0x01 -/* Message logging helpers with subsystem-specific prefix string. */ -#define LOG_PREFIX "usb: " -#define sr_log(l, s, args...) sr_log(l, LOG_PREFIX s, ## args) -#define sr_spew(s, args...) sr_spew(LOG_PREFIX s, ## args) -#define sr_dbg(s, args...) sr_dbg(LOG_PREFIX s, ## args) -#define sr_info(s, args...) sr_info(LOG_PREFIX s, ## args) -#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args) -#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args) +#define LOG_PREFIX "usb" /** * Find USB devices according to a connection string. @@ -245,7 +238,7 @@ SR_PRIV int sr_usb_open(libusb_context *usb_ctx, struct sr_usb_dev_inst *usb) } #ifdef _WIN32 -SR_PRIV gpointer usb_thread(gpointer data) +static gpointer usb_thread(gpointer data) { struct sr_context *ctx = data; @@ -260,15 +253,18 @@ SR_PRIV gpointer usb_thread(gpointer data) return NULL; } -SR_PRIV int usb_callback(int fd, int revents, void *cb_data) +static int usb_callback(int fd, int revents, void *cb_data) { struct sr_context *ctx = cb_data; int ret; g_mutex_lock(&ctx->usb_mutex); ret = ctx->usb_cb(fd, revents, ctx->usb_cb_data); - ResetEvent(ctx->usb_event); - g_mutex_unlock(&ctx->usb_mutex); + + if (ctx->usb_thread_running) { + ResetEvent(ctx->usb_event); + g_mutex_unlock(&ctx->usb_mutex); + } return ret; }