From 899e49a2e605df2b23f4ed3e905a4139379e7d75 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Thu, 18 Jun 2015 14:15:08 +0200 Subject: [PATCH] virNetSocketRemoveIOCallback: Be explicit about unref When going through the code I've notice that virNetSocketAddIOCallback() increases the reference counter of @socket. However, its counter part RemoveIOCallback does not. It took me a while to realize this disproportion. The AddIOCallback registers our own callback which eventually calls the desired callback and then unref the @sock. Yeah, a bit complicated but it works. So, lets note this hard learned fact in a comment in RemoveIOCallback(). Signed-off-by: Michal Privoznik --- src/rpc/virnetsocket.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c index 2497f674ce..48107ffad1 100644 --- a/src/rpc/virnetsocket.c +++ b/src/rpc/virnetsocket.c @@ -1993,6 +1993,7 @@ void virNetSocketRemoveIOCallback(virNetSocketPtr sock) } virEventRemoveHandle(sock->watch); + /* Don't unref @sock, it's done via eventloop callback. */ virObjectUnlock(sock); } -- GitLab