Update vlog_is_on.cc

SetVLOGLevel locks vmodule_lock however RAW_VLOG at the end also implicitly locks it via InitVLOG3__.

This causes deadlock/segfault.
This commit is contained in:
romange 2015-04-30 20:28:32 +03:00
parent 2a02db7aa5
commit 2c5038470b

View File

@ -162,6 +162,7 @@ int SetVLOGLevel(const char* module_pattern, int log_level) {
int result = FLAGS_v;
int const pattern_len = strlen(module_pattern);
bool found = false;
{
MutexLock l(&vmodule_lock); // protect whole read-modify-write
for (const VModuleInfo* info = vmodule_list;
info != NULL; info = info->next) {
@ -186,6 +187,7 @@ int SetVLOGLevel(const char* module_pattern, int log_level) {
info->next = vmodule_list;
vmodule_list = info;
}
}
RAW_VLOG(1, "Set VLOG level for \"%s\" to %d", module_pattern, log_level);
return result;
}