On Thu, Mar 05, 2015 at 12:05:18 +0100, Michal Privoznik wrote: > Every API that touches internal structure of the object must lock > the object first. Not every API that has the object as an > argument needs to do that though. Some APIs just pass the object > to lower layers which, however, must lock the object then. Look > at the code, you'll get my meaning soon. > > Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> > --- > src/conf/network_conf.c | 46 +++++++++++++++++++++++++++++++++++++--------- > 1 file changed, 37 insertions(+), 9 deletions(-) > > diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c > index 8cf9ffd..7af303e 100644 > --- a/src/conf/network_conf.c > +++ b/src/conf/network_conf.c > @@ -157,16 +157,19 @@ virNetworkObjPtr > virNetworkObjFindByUUIDLocked(virNetworkObjListPtr nets, > const unsigned char *uuid) > { > + virNetworkObjPtr ret = NULL; > size_t i; > > for (i = 0; i < nets->count; i++) { > virObjectLock(nets->objs[i]); > - if (!memcmp(nets->objs[i]->def->uuid, uuid, VIR_UUID_BUFLEN)) > - return nets->objs[i]; > + if (!memcmp(nets->objs[i]->def->uuid, uuid, VIR_UUID_BUFLEN)) { > + ret = nets->objs[i]; > + break; > + } > virObjectUnlock(nets->objs[i]); > } This hunk ... > > - return NULL; > + return ret; > } > > virNetworkObjPtr virNetworkObjFindByUUID(virNetworkObjListPtr nets, > @@ -184,16 +187,19 @@ virNetworkObjPtr > virNetworkObjFindByNameLocked(virNetworkObjListPtr nets, > const char *name) > { > + virNetworkObjPtr ret = NULL; > size_t i; > > for (i = 0; i < nets->count; i++) { > virObjectLock(nets->objs[i]); > - if (STREQ(nets->objs[i]->def->name, name)) > - return nets->objs[i]; > + if (STREQ(nets->objs[i]->def->name, name)) { > + ret = nets->objs[i]; > + break; > + } > virObjectUnlock(nets->objs[i]); > } and this hunk have no semantic impact. I presume they are an artifact of the changes from previous version. I'd appreciate if you'd remove them but I won't insist. > > - return NULL; > + return ret; > } ACK Peter
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list