Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(298)

Side by Side Diff: util/misc/clock_win.cc

Issue 1419533014: win: Fix ClockMonotonicNanoseconds() (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Crashpad Authors. All rights reserved. 1 // Copyright 2014 The Crashpad Authors. All rights reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
(...skipping 21 matching lines...) Expand all
32 32
33 } // namespace 33 } // namespace
34 34
35 namespace crashpad { 35 namespace crashpad {
36 36
37 uint64_t ClockMonotonicNanoseconds() { 37 uint64_t ClockMonotonicNanoseconds() {
38 LARGE_INTEGER time; 38 LARGE_INTEGER time;
39 QueryPerformanceCounter(&time); 39 QueryPerformanceCounter(&time);
40 int64_t frequency = QpcFrequency(); 40 int64_t frequency = QpcFrequency();
41 int64_t whole_seconds = time.QuadPart / frequency; 41 int64_t whole_seconds = time.QuadPart / frequency;
42 int64_t leftover_ticks = time.QuadPart / (whole_seconds * frequency); 42 int64_t leftover_ticks = time.QuadPart % frequency;
scottmg 2015/11/05 18:49:58 frequency = 10, time.QuadPart = 98 whole_seconds
Mark Mentovai 2015/11/05 18:58:10 scottmg wrote:
43 const int64_t kNanosecondsPerSecond = static_cast<const int64_t>(1E9); 43 const int64_t kNanosecondsPerSecond = static_cast<const int64_t>(1E9);
44 return (whole_seconds * kNanosecondsPerSecond) + 44 return (whole_seconds * kNanosecondsPerSecond) +
45 ((leftover_ticks * kNanosecondsPerSecond) / frequency); 45 ((leftover_ticks * kNanosecondsPerSecond) / frequency);
46 } 46 }
47 47
48 } // namespace crashpad 48 } // namespace crashpad
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698