]> xenbits.xensource.com Git - libvirt.git/commitdiff
util: eventpoll: use VIR_AUTOFREE instead of VIR_FREE for scalar types
authorSukrit Bhatnagar <skrtbhtngr@gmail.com>
Fri, 13 Jul 2018 17:55:07 +0000 (23:25 +0530)
committerErik Skultety <eskultet@redhat.com>
Sat, 14 Jul 2018 15:01:30 +0000 (17:01 +0200)
By making use of GNU C's cleanup attribute handled by the
VIR_AUTOFREE macro for declaring scalar variables, majority
of the VIR_FREE calls can be dropped, which in turn leads to
getting rid of most of our cleanup sections.

Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
src/util/vireventpoll.c

index 81ecab43b5bb22db7e29c1d8a375693d0701e43e..13d278df1318dc7852b8d304701f3c87d1d18b3a 100644 (file)
@@ -618,7 +618,7 @@ static void virEventPollCleanupHandles(void)
  */
 int virEventPollRunOnce(void)
 {
-    struct pollfd *fds = NULL;
+    VIR_AUTOFREE(struct pollfd *) fds = NULL;
     int ret, timeout, nfds;
 
     virMutexLock(&eventLoop.lock);
@@ -645,7 +645,7 @@ int virEventPollRunOnce(void)
             goto retry;
         virReportSystemError(errno, "%s",
                              _("Unable to poll on file handles"));
-        goto error_unlocked;
+        return -1;
     }
     EVENT_DEBUG("Poll got %d event(s)", ret);
 
@@ -662,13 +662,10 @@ int virEventPollRunOnce(void)
 
     eventLoop.running = 0;
     virMutexUnlock(&eventLoop.lock);
-    VIR_FREE(fds);
     return 0;
 
  error:
     virMutexUnlock(&eventLoop.lock);
- error_unlocked:
-    VIR_FREE(fds);
     return -1;
 }