* 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);
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