X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=src%2Fscpi%2Fscpi_libgpib.c;h=5c82bd6f3dee6edd2e27a25292d16667d10fad27;hp=26fcadac9df66626b4c7e04ef43f55670ceef442;hb=6188675b72990ee3f76b465e6020b38792604130;hpb=87aa1e63e367475b8ea49a05427117c836dd2372 diff --git a/src/scpi/scpi_libgpib.c b/src/scpi/scpi_libgpib.c index 26fcadac..5c82bd6f 100644 --- a/src/scpi/scpi_libgpib.c +++ b/src/scpi/scpi_libgpib.c @@ -169,13 +169,16 @@ SR_PRIV int sr_scpi_gpib_spoll(struct sr_scpi_dev_inst *scpi, char *buf) { struct scpi_gpib *gscpi = scpi->priv; + g_mutex_lock(&scpi->scpi_mutex); ibrsp(gscpi->descriptor, buf); if (ibsta & ERR) { sr_err("Error while serial polling: iberr = %s.", gpib_error_string(iberr)); + g_mutex_unlock(&scpi->scpi_mutex); return SR_ERR; } + g_mutex_unlock(&scpi->scpi_mutex); sr_spew("Successful serial poll: 0x%x", (uint8_t)buf[0]); return SR_OK;