Flutter Engine
The Flutter Engine
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Properties
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Related Functions
:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
v
w
y
Enumerator
b
c
d
e
f
g
h
k
l
m
n
p
r
s
t
u
v
w
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
third_party
tonic
filesystem
filesystem
eintr_wrapper.h
Go to the documentation of this file.
1
// Copyright 2013 The Flutter 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
#ifndef FILESYSTEM_EINTR_WRAPPER_H_
6
#define FILESYSTEM_EINTR_WRAPPER_H_
7
8
#include <cerrno>
9
10
#include "
tonic/common/build_config.h
"
11
12
#if defined(OS_WIN)
13
14
// Windows has no concept of EINTR.
15
#define HANDLE_EINTR(x) (x)
16
#define IGNORE_EINTR(x) (x)
17
18
#else
19
20
#if defined(NDEBUG)
21
22
#define HANDLE_EINTR(x) \
23
({ \
24
decltype(x) eintr_wrapper_result; \
25
do { \
26
eintr_wrapper_result = (x); \
27
} while (eintr_wrapper_result == -1 && errno == EINTR); \
28
eintr_wrapper_result; \
29
})
30
31
#else
32
33
#define HANDLE_EINTR(x) \
34
({ \
35
int eintr_wrapper_counter = 0; \
36
decltype(x) eintr_wrapper_result; \
37
do { \
38
eintr_wrapper_result = (x); \
39
} while (eintr_wrapper_result == -1 && errno == EINTR && \
40
eintr_wrapper_counter++ < 100); \
41
eintr_wrapper_result; \
42
})
43
44
#endif
// NDEBUG
45
46
#define IGNORE_EINTR(x) \
47
({ \
48
decltype(x) eintr_wrapper_result; \
49
do { \
50
eintr_wrapper_result = (x); \
51
if (eintr_wrapper_result == -1 && errno == EINTR) { \
52
eintr_wrapper_result = 0; \
53
} \
54
} while (0); \
55
eintr_wrapper_result; \
56
})
57
58
#endif
// defined(OS_WIN)
59
60
#endif
// FILESYSTEM_EINTR_WRAPPER_H_
build_config.h
Generated on Sun Jun 23 2024 21:54:57 for Flutter Engine by
1.9.4