vlog: fix clang warnings
authorAndy Zhou <azhou@nicira.com>
Thu, 12 Nov 2015 22:32:49 +0000 (14:32 -0800)
committerAndy Zhou <azhou@nicira.com>
Thu, 12 Nov 2015 22:33:03 +0000 (14:33 -0800)
Make sure clang does not complain about accessing ovs_log_file
outside of log_file_mutex protection.

Signed-off-by: Andy Zhou <azhou@nicira.com>
lib/vlog.c

index 18d0e33..a4aa2a0 100644 (file)
@@ -105,7 +105,7 @@ DEFINE_STATIC_PER_THREAD_DATA(unsigned int, msg_num, 0);
  * All of the following is protected by 'log_file_mutex', which nests inside
  * pattern_rwlock. */
 static struct ovs_mutex log_file_mutex = OVS_MUTEX_INITIALIZER;
-static char *log_file_name = NULL OVS_GUARDED_BY(log_file_mutex);
+static char *log_file_name OVS_GUARDED_BY(log_file_mutex) = NULL;
 static int log_fd OVS_GUARDED_BY(log_file_mutex) = -1;
 static struct async_append *log_writer OVS_GUARDED_BY(log_file_mutex);
 static bool log_async OVS_GUARDED_BY(log_file_mutex);
@@ -438,18 +438,15 @@ vlog_reopen_log_file(void)
 void
 vlog_change_owner_unix(uid_t user, gid_t group)
 {
-    if (!log_file_name) {
-        return;
-    }
-
     ovs_mutex_lock(&log_file_mutex);
-    int error = chown(log_file_name, user, group);
-    ovs_mutex_unlock(&log_file_mutex);
+    int error = log_file_name ? chown(log_file_name, user, group) : 0;
 
     if (error) {
         VLOG_FATAL("Failed to change %s ownership: %s.",
                    log_file_name, ovs_strerror(errno));
     }
+
+    ovs_mutex_unlock(&log_file_mutex);
 }
 #endif