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.
systemd/SOURCES/0924-errno-util-introduce-E...

32 lines
917 B

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