2011-09-05 07:56:21 +00:00
parent 204ef03af8
commit 54421697f4
3 changed files with 12 additions and 1 deletions

View File

@ -745,7 +745,8 @@ void LogFileObject::Write(bool force_flush,
return;
}
if (static_cast<int>(file_length_ >> 20) >= MaxLogSize()) {
if (static_cast<int>(file_length_ >> 20) >= MaxLogSize() ||
PidHasChanged()) {
if (file_ != NULL) fclose(file_);
file_ = NULL;
file_length_ = bytes_since_flush_ = 0;

View File

@ -221,6 +221,15 @@ int32 GetMainThreadPid() {
return g_main_thread_pid;
}
bool PidHasChanged() {
int32 pid = getpid();
if (g_main_thread_pid == pid) {
return false;
}
g_main_thread_pid = pid;
return true;
}
pid_t GetTID() {
// On Linux and FreeBSD, we try to use gettid().
#if defined OS_LINUX || defined OS_FREEBSD || defined OS_MACOSX

View File

@ -159,6 +159,7 @@ typedef double WallTime;
WallTime WallTime_Now();
int32 GetMainThreadPid();
bool PidHasChanged();
pid_t GetTID();