summaryrefslogtreecommitdiff
path: root/src/basic
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2018-03-29 16:19:33 +0200
committerSven Eden <yamakuzure@gmx.net>2018-06-28 09:24:07 +0200
commit3edd79703a34628e984700b2dfa675accbf680b1 (patch)
treea8d7594bc9f6c3913d8a336fb7dd56cc9611724f /src/basic
parent05301c0619add83c1426523f08336bc30e1020e2 (diff)
tmpfiles: add a new return code for "operational failure" when processing
Things can fail, and we have no control over it: - file system issues (immutable bits, file system errors, MAC refusals, etc) - kernel refusing certain arguments when writing to /proc/sys or /sys Let's add a new code for the case where we parsed configuration but failed to execute it because of external errors. (cherry picked from commit bb9947be2fa308d198b63b30e494ade5d68e5109)
Diffstat (limited to 'src/basic')
-rw-r--r--src/basic/fd-util.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/basic/fd-util.h b/src/basic/fd-util.h
index 838dd5937..4cdd01bee 100644
--- a/src/basic/fd-util.h
+++ b/src/basic/fd-util.h
@@ -102,6 +102,10 @@ int acquire_data_fd(const void *data, size_t size, unsigned flags);
#define ERRNO_IS_DISCONNECT(r) \
IN_SET(r, ENOTCONN, ECONNRESET, ECONNREFUSED, ECONNABORTED, EPIPE, ENETUNREACH)
+/* Resource exhaustion, could be our fault or general system trouble */
+#define ERRNO_IS_RESOURCE(r) \
+ IN_SET(r, ENOMEM, EMFILE, ENFILE)
+
int fd_move_above_stdio(int fd);
int rearrange_stdio(int original_input_fd, int original_output_fd, int original_error_fd);