]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
libxl: Use automatic memory management
authorTim Wiederhake <twiederh@redhat.com>
Fri, 4 Feb 2022 15:21:36 +0000 (16:21 +0100)
committerTim Wiederhake <twiederh@redhat.com>
Fri, 11 Feb 2022 10:03:47 +0000 (11:03 +0100)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/libxl/libxl_conf.c
src/libxl/libxl_conf.h
src/libxl/libxl_logger.c

index f062f8e958518d2cfce657b81c6588f2b46ca119..a0fc51c74afd49e0a92d2ec535869578f81d8620 100644 (file)
@@ -1815,12 +1815,8 @@ libxlDriverConfigInit(libxlDriverConfig *cfg)
 libxlDriverConfig *
 libxlDriverConfigGet(libxlDriverPrivate *driver)
 {
-    libxlDriverConfig *cfg;
-
-    libxlDriverLock(driver);
-    cfg = virObjectRef(driver->config);
-    libxlDriverUnlock(driver);
-    return cfg;
+    VIR_LOCK_GUARD lock = virLockGuardLock(&driver->lock);
+    return virObjectRef(driver->config);
 }
 
 int libxlDriverConfigLoadFile(libxlDriverConfig *cfg,
index b74f455b6979cedbefc24f383d40fbda5a32ecc9..16a7195bfdbca3b5360e0dcd14e816f6a2334222 100644 (file)
@@ -219,15 +219,3 @@ libxlBuildDomainConfig(virPortAllocatorRange *graphicsports,
                        virDomainDef *def,
                        libxlDriverConfig *cfg,
                        libxl_domain_config *d_config);
-
-static inline void
-libxlDriverLock(libxlDriverPrivate *driver)
-{
-    virMutexLock(&driver->lock);
-}
-
-static inline void
-libxlDriverUnlock(libxlDriverPrivate *driver)
-{
-    virMutexUnlock(&driver->lock);
-}
index 4708553f294bb57aa3c8adf284e5c4048b78b1ad..45cdc32f38e6fba4aa1e6304d621dddc8dbc4147 100644 (file)
@@ -79,16 +79,16 @@ libvirt_vmessage(xentoollog_logger *logger_in,
     /* Should we print to a domain-specific log file? */
     if ((start = strstr(message, ": Domain ")) &&
         (end = strstr(start + 9, ":"))) {
-        FILE *domainLogFile;
+        FILE *domainLogFile = NULL;
 
         VIR_DEBUG("Found domain log message");
 
         start = start + 9;
         *end = '\0';
 
-        virMutexLock(&lg->tableLock);
-        domainLogFile = virHashLookup(lg->files, start);
-        virMutexUnlock(&lg->tableLock);
+        VIR_WITH_MUTEX_LOCK_GUARD(&lg->tableLock) {
+            domainLogFile = virHashLookup(lg->files, start);
+        }
         if (domainLogFile)
             logFile = domainLogFile;
 
@@ -197,9 +197,9 @@ libxlLoggerOpenFile(libxlLogger *logger,
                  path, g_strerror(errno));
         return;
     }
-    virMutexLock(&logger->tableLock);
-    ignore_value(virHashAddEntry(logger->files, domidstr, logFile));
-    virMutexUnlock(&logger->tableLock);
+    VIR_WITH_MUTEX_LOCK_GUARD(&logger->tableLock) {
+        ignore_value(virHashAddEntry(logger->files, domidstr, logFile));
+    }
 
     /* domain_config is non NULL only when starting a new domain */
     if (domain_config) {
@@ -211,10 +211,8 @@ libxlLoggerOpenFile(libxlLogger *logger,
 void
 libxlLoggerCloseFile(libxlLogger *logger, int id)
 {
-    g_autofree char *domidstr = NULL;
-    domidstr = g_strdup_printf("%d", id);
+    g_autofree char *domidstr = g_strdup_printf("%d", id);
+    VIR_LOCK_GUARD lock = virLockGuardLock(&logger->tableLock);
 
-    virMutexLock(&logger->tableLock);
     ignore_value(virHashRemoveEntry(logger->files, domidstr));
-    virMutexUnlock(&logger->tableLock);
 }