On 05/13/2017 05:59 AM, Wang King wrote:
handles stored in virNetlinkEventSrvPrivatePtr should be freed when
stop netlink event service.
---
src/util/virnetlink.c | 2 ++
1 file changed, 2 insertions(+)
This works and all, but do you you perhaps feel up to the challenge of
merging some code at all?
IOW: There's (almost) no reason why a "first" patch couldn't replace
the
guts of the for loop in virNetlinkEventServiceStopAll (e.g. the "for (i
= 0; i < MAX_LINKS; i++)" with a call to virNetlinkEventServiceStop...
IOw:
for (i = 0; i < MAX_LINKS; i++)
virNetlinkEventServiceStop(i);
Where the VIR_FREE(srv->handles); is added to Stop in a second patch.
Tks -
John
diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c
index 92ecf77..b782cfa 100644
--- a/src/util/virnetlink.c
+++ b/src/util/virnetlink.c
@@ -758,6 +758,7 @@ virNetlinkEventServiceStop(unsigned int protocol)
}
server[protocol] = NULL;
+ VIR_FREE(srv->handles);
virNetlinkEventServerUnlock(srv);
virMutexDestroy(&srv->lock);
@@ -796,6 +797,7 @@ virNetlinkEventServiceStopAll(void)
}
server[i] = NULL;
+ VIR_FREE(srv->handles);
virNetlinkEventServerUnlock(srv);
virMutexDestroy(&srv->lock);