[Spice-devel] [PATCH spice-gtk v2 18/33] fixup! usb-redir: add files for SCSI and USB MSC implementation
Frediano Ziglio
fziglio at redhat.com
Fri Aug 9 14:26:36 UTC 2019
Retain stream using reference counting.
Allow caller to free the object.
---
src/cd-scsi.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/cd-scsi.c b/src/cd-scsi.c
index f9e8441c..1cb268bf 100644
--- a/src/cd-scsi.c
+++ b/src/cd-scsi.c
@@ -433,6 +433,7 @@ void cd_scsi_target_free(CdScsiTarget *st)
if (unit->realized) {
cd_scsi_dev_unrealize(st, lun);
}
+ g_clear_object(&unit->stream);
}
g_clear_object(&st->cancellable);
g_free(st);
@@ -497,7 +498,7 @@ int cd_scsi_dev_realize(CdScsiTarget *st, uint32_t lun,
static void cd_scsi_lu_media_reset(CdScsiLU *dev)
{
/* media_event is not set here, as it depends on the context */
- dev->stream = NULL;
+ g_clear_object(&dev->stream);
dev->size = 0;
dev->block_size = 0;
dev->num_blocks = 0;
@@ -526,7 +527,7 @@ static void cd_scsi_lu_load(CdScsiLU *dev,
{
if (media_params != NULL) {
dev->media_event = CD_MEDIA_EVENT_NEW_MEDIA;
- dev->stream = media_params->stream;
+ dev->stream = g_object_ref(media_params->stream);
dev->size = media_params->size;
dev->block_size = media_params->block_size;
dev->num_blocks = media_params->size / media_params->block_size;
--
2.20.1
More information about the Spice-devel
mailing list