aboutsummaryrefslogtreecommitdiff
path: root/scsi/qemu-pr-helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'scsi/qemu-pr-helper.c')
-rw-r--r--scsi/qemu-pr-helper.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/scsi/qemu-pr-helper.c b/scsi/qemu-pr-helper.c
index b69dd98..074b4db 100644
--- a/scsi/qemu-pr-helper.c
+++ b/scsi/qemu-pr-helper.c
@@ -733,8 +733,11 @@ static void coroutine_fn prh_co_entry(void *opaque)
uint32_t flags;
int r;
- qio_channel_set_blocking(QIO_CHANNEL(client->ioc),
- false, NULL);
+ if (!qio_channel_set_blocking(QIO_CHANNEL(client->ioc),
+ false, &local_err)) {
+ goto out;
+ }
+
qio_channel_set_follow_coroutine_ctx(QIO_CHANNEL(client->ioc), true);
/* A very simple negotiation for future extensibility. No features
@@ -786,6 +789,7 @@ static void coroutine_fn prh_co_entry(void *opaque)
}
}
+out:
if (local_err) {
if (verbose == 0) {
error_free(local_err);
@@ -794,7 +798,6 @@ static void coroutine_fn prh_co_entry(void *opaque)
}
}
-out:
object_unref(OBJECT(client->ioc));
g_free(client);
}