diff --git a/src/rpc/virnetserverclient.c b/src/rpc/virnetserverclient.c index f3eb61adf068d24627d8017dbeaf2866262bf089..a56031c0a8cd5834e576f1d229a5c9288c5e051c 100644 --- a/src/rpc/virnetserverclient.c +++ b/src/rpc/virnetserverclient.c @@ -218,20 +218,21 @@ static void virNetServerClientUpdateEvent(virNetServerClientPtr client) } -static int -virNetServerClientAddFilterLocked(virNetServerClientPtr client, - virNetServerClientFilterFunc func, - void *opaque) +int virNetServerClientAddFilter(virNetServerClientPtr client, + virNetServerClientFilterFunc func, + void *opaque) { virNetServerClientFilterPtr filter; virNetServerClientFilterPtr *place; - int ret = -1; + int ret; if (VIR_ALLOC(filter) < 0) { virReportOOMError(); - goto cleanup; + return -1; } + virNetServerClientLock(client); + filter->id = client->nextFilterID++; filter->func = func; filter->opaque = opaque; @@ -243,28 +244,18 @@ virNetServerClientAddFilterLocked(virNetServerClientPtr client, ret = filter->id; -cleanup: - return ret; -} - -int virNetServerClientAddFilter(virNetServerClientPtr client, - virNetServerClientFilterFunc func, - void *opaque) -{ - int ret; - - virNetServerClientLock(client); - ret = virNetServerClientAddFilterLocked(client, func, opaque); virNetServerClientUnlock(client); + return ret; } -static void -virNetServerClientRemoveFilterLocked(virNetServerClientPtr client, - int filterID) +void virNetServerClientRemoveFilter(virNetServerClientPtr client, + int filterID) { virNetServerClientFilterPtr tmp, prev; + virNetServerClientLock(client); + prev = NULL; tmp = client->filters; while (tmp) { @@ -280,13 +271,7 @@ virNetServerClientRemoveFilterLocked(virNetServerClientPtr client, prev = tmp; tmp = tmp->next; } -} -void virNetServerClientRemoveFilter(virNetServerClientPtr client, - int filterID) -{ - virNetServerClientLock(client); - virNetServerClientRemoveFilterLocked(client, filterID); virNetServerClientUnlock(client); }