You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
917 B
32 lines
917 B
1 year ago
|
From 5a1d30b9a775a7bbac55752abdc10ed5383d209f Mon Sep 17 00:00:00 2001
|
||
|
From: Yu Watanabe <watanabe.yu+github@gmail.com>
|
||
|
Date: Tue, 30 Nov 2021 03:39:35 +0900
|
||
|
Subject: [PATCH] errno-util: introduce ERRNO_IS_TRANSIENT()
|
||
|
|
||
|
(cherry picked from commit 7aad83580fccee926d903bdb1a2a6af2c40ef0fc)
|
||
|
|
||
|
Related: #2172846
|
||
|
---
|
||
|
src/basic/util.h | 8 ++++++++
|
||
|
1 file changed, 8 insertions(+)
|
||
|
|
||
|
diff --git a/src/basic/util.h b/src/basic/util.h
|
||
|
index 195f02cf5f..48beb88bac 100644
|
||
|
--- a/src/basic/util.h
|
||
|
+++ b/src/basic/util.h
|
||
|
@@ -180,6 +180,14 @@ static inline int negative_errno(void) {
|
||
|
return -errno;
|
||
|
}
|
||
|
|
||
|
+
|
||
|
+/* For send()/recv() or read()/write(). */
|
||
|
+static inline bool ERRNO_IS_TRANSIENT(int r) {
|
||
|
+ return IN_SET(abs(r),
|
||
|
+ EAGAIN,
|
||
|
+ EINTR);
|
||
|
+}
|
||
|
+
|
||
|
/* Two different errors for access problems */
|
||
|
static inline bool ERRNO_IS_PRIVILEGE(int r) {
|
||
|
return IN_SET(abs(r),
|