Home | History | Annotate | Download | only in process
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "base/process/process_info.h"
      6 
      7 #include "base/basictypes.h"
      8 #include "base/logging.h"
      9 #include "base/process/internal_linux.h"
     10 #include "base/process/process_handle.h"
     11 #include "base/time/time.h"
     12 
     13 namespace base {
     14 
     15 //static
     16 const Time CurrentProcessInfo::CreationTime() {
     17   ProcessHandle pid = GetCurrentProcessHandle();
     18   int start_ticks = internal::ReadProcStatsAndGetFieldAsInt(
     19       pid, internal::VM_STARTTIME);
     20   DCHECK(start_ticks);
     21   TimeDelta start_offset = internal::ClockTicksToTimeDelta(start_ticks);
     22   Time boot_time = internal::GetBootTime();
     23   DCHECK(!boot_time.is_null());
     24   return Time(boot_time + start_offset);
     25 }
     26 
     27 }  // namespace base
     28