Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
abseil-cpp
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open
abseil-cpp
Commits
44aa2752
Unverified
Commit
44aa2752
authored
Jul 18, 2018
by
Xiaoyi Zhang
Committed by
GitHub
Jul 18, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #143 from rongjiecomputer/kernel
Remove dependency of windows.h in kernel_timeout.h
parents
42f22a28
22baa38b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
8 deletions
+10
-8
absl/synchronization/internal/kernel_timeout.h
+10
-8
No files found.
absl/synchronization/internal/kernel_timeout.h
View file @
44aa2752
...
...
@@ -25,9 +25,6 @@
#ifndef ABSL_SYNCHRONIZATION_INTERNAL_KERNEL_TIMEOUT_H_
#define ABSL_SYNCHRONIZATION_INTERNAL_KERNEL_TIMEOUT_H_
#ifdef _WIN32
#include <intsafe.h>
#endif
#include <time.h>
#include <algorithm>
#include <limits>
...
...
@@ -117,9 +114,14 @@ class KernelTimeout {
// Windows. Callers should recognize that the return value is a
// relative duration (it should be recomputed by calling this method
// in the case of a spurious wakeup).
DWORD
InMillisecondsFromNow
()
const
{
// This header file may be included transitively by public header files,
// so we define our own DWORD and INFINITE instead of getting them from
// <intsafe.h> and <WinBase.h>.
typedef
unsigned
long
DWord
;
DWord
InMillisecondsFromNow
()
const
{
constexpr
DWord
kInfinite
=
std
::
numeric_limits
<
DWord
>::
max
();
if
(
!
has_timeout
())
{
return
INFINITE
;
return
kInfinite
;
}
// The use of absl::Now() to convert from absolute time to
// relative time means that absl::Now() cannot use anything that
...
...
@@ -131,10 +133,10 @@ class KernelTimeout {
std
::
numeric_limits
<
int64_t
>::
max
()
-
999999u
;
uint64_t
ms_from_now
=
(
std
::
min
<
uint64_t
>
(
max_nanos
,
ns_
-
now
)
+
999999u
)
/
1000000u
;
if
(
ms_from_now
>
std
::
numeric_limits
<
DWORD
>::
max
()
)
{
return
INFINITE
;
if
(
ms_from_now
>
kInfinite
)
{
return
kInfinite
;
}
return
static_cast
<
DW
ORD
>
(
ms_from_now
);
return
static_cast
<
DW
ord
>
(
ms_from_now
);
}
return
0
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment