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 <stdint.h> 8 9 #include "base/logging.h" 10 #include "base/process/internal_linux.h" 11 #include "base/process/process_handle.h" 12 #include "base/time/time.h" 13 14 namespace base { 15 16 // static CreationTime()17const Time CurrentProcessInfo::CreationTime() { 18 int64_t start_ticks = 19 internal::ReadProcSelfStatsAndGetFieldAsInt64(internal::VM_STARTTIME); 20 if (!start_ticks) 21 return Time(); 22 TimeDelta start_offset = internal::ClockTicksToTimeDelta(start_ticks); 23 Time boot_time = internal::GetBootTime(); 24 if (boot_time.is_null()) 25 return Time(); 26 return Time(boot_time + start_offset); 27 } 28 29 } // namespace base 30