Replace virStreamFree with virObjectUnref

Since virStreamFree will call virObjectUnref anyway, let's just use that
directly so as to avoid the possibility that we inadvertently clear out
a pending error message when using the public API.
This commit is contained in:
John Ferlan 2014-11-30 10:19:38 -05:00
parent adbbff5fb7
commit 1725a468f6
6 changed files with 8 additions and 15 deletions

4
cfg.mk
View File

@ -992,7 +992,7 @@ sc_prohibit_system_error_with_vir_err:
# functions. There's a corresponding exclude to allow usage within tests,
# docs, examples, tools, src/libvirt-*.c, and include/libvirt/libvirt-*.h
sc_prohibit_virXXXFree:
@prohibit='\bvir(Domain|Network|NodeDevice|StorageVol|StoragePool)Free\b' \
@prohibit='\bvir(Domain|Network|NodeDevice|StorageVol|StoragePool|Stream)Free\b' \
exclude='sc_prohibit_virXXXFree' \
halt='avoid using 'virXXXFree', use 'virObjectUnref' instead' \
$(_sc_search_regexp)
@ -1186,4 +1186,4 @@ exclude_file_name_regexp--sc_prohibit_devname = \
^(tools/virsh.pod|cfg.mk|docs/.*)$$
exclude_file_name_regexp--sc_prohibit_virXXXFree = \
^(docs/|tests/|examples/|tools/|cfg.mk|src/test/test_driver.c|src/libvirt_public.syms|include/libvirt/libvirt-(domain|network|nodedev|storage).h|src/libvirt-(domain|qemu|network|nodedev|storage).c$$)
^(docs/|tests/|examples/|tools/|cfg.mk|src/test/test_driver.c|src/libvirt_public.syms|include/libvirt/libvirt-(domain|network|nodedev|storage|stream).h|src/libvirt-(domain|qemu|network|nodedev|storage|stream).c$$)

View File

@ -5414,7 +5414,7 @@ remoteDispatchDomainMigratePrepareTunnel3Params(virNetServerPtr server ATTRIBUTE
virStreamAbort(st);
daemonFreeClientStream(client, stream);
} else {
virStreamFree(st);
virObjectUnref(st);
}
}
return rv;

View File

@ -383,7 +383,7 @@ int daemonFreeClientStream(virNetServerClientPtr client,
msg = tmp;
}
virStreamFree(stream->st);
virObjectUnref(stream->st);
VIR_FREE(stream);
return ret;

View File

@ -221,7 +221,7 @@ static void virChrdevHashEntryFree(void *data,
virStreamPtr st = data;
/* free stream reference */
virStreamFree(st);
virObjectUnref(st);
/* delete lock file */
virChrdevLockFileRemove(dev);
@ -346,7 +346,6 @@ int virChrdevOpen(virChrdevsPtr devs,
char *path;
int ret;
bool added = false;
virErrorPtr savedError;
switch (source->type) {
case VIR_DOMAIN_CHR_TYPE_PTY:
@ -434,15 +433,10 @@ int virChrdevOpen(virChrdevsPtr devs,
return 0;
error:
savedError = virSaveLastError();
if (added)
virHashRemoveEntry(devs->hash, path);
else
virStreamFree(st);
virSetError(savedError);
virFreeError(savedError);
virObjectUnref(st);
if (cbdata)
VIR_FREE(cbdata->path);

View File

@ -187,8 +187,7 @@ static void virFDStreamEvent(int watch ATTRIBUTE_UNUSED,
static void virFDStreamCallbackFree(void *opaque)
{
virStreamPtr st = opaque;
virStreamFree(st);
virObjectUnref(opaque);
}

View File

@ -5691,7 +5691,7 @@ static void remoteStreamCallbackFree(void *opaque)
if (!cbdata->cb && cbdata->ff)
(cbdata->ff)(cbdata->opaque);
virStreamFree(cbdata->st);
virObjectUnref(cbdata->st);
VIR_FREE(opaque);
}