Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Macros
eintr_wrapper.h File Reference
#include <cerrno>
#include "tonic/common/build_config.h"

Go to the source code of this file.

Macros

#define HANDLE_EINTR(x)
 
#define IGNORE_EINTR(x)
 

Macro Definition Documentation

◆ HANDLE_EINTR

#define HANDLE_EINTR (   x)
Value:
({ \
int eintr_wrapper_counter = 0; \
decltype(x) eintr_wrapper_result; \
do { \
eintr_wrapper_result = (x); \
} while (eintr_wrapper_result == -1 && errno == EINTR && \
eintr_wrapper_counter++ < 100); \
eintr_wrapper_result; \
})
double x

Definition at line 33 of file eintr_wrapper.h.

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 })

◆ IGNORE_EINTR

#define IGNORE_EINTR (   x)
Value:
({ \
decltype(x) eintr_wrapper_result; \
do { \
eintr_wrapper_result = (x); \
if (eintr_wrapper_result == -1 && errno == EINTR) { \
eintr_wrapper_result = 0; \
} \
} while (0); \
eintr_wrapper_result; \
})

Definition at line 46 of file eintr_wrapper.h.

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 })