summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-01-28 01:53:15 +0100
committerLennart Poettering <lennart@poettering.net>2010-01-28 01:53:15 +0100
commit85f136b5d09168a7e4fd2ad27ef81dbe2d356c07 (patch)
tree11a007bb931e4484e646423f184155cc4cabcf98
parent4901f972785c4cd3a2cc10a8f4b6ce4e2ab3a568 (diff)
add non-failing close() variant
-rw-r--r--util.c8
-rw-r--r--util.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/util.c b/util.c
index 56f53eafd6..38ed74fbcb 100644
--- a/util.c
+++ b/util.c
@@ -97,6 +97,14 @@ int close_nointr(int fd) {
}
}
+void close_nointr_nofail(int fd) {
+
+ /* like close_nointr() but cannot fail, and guarantees errno
+ * is unchanged */
+
+ assert_se(close_nointr(fd) == 0);
+}
+
int parse_boolean(const char *v) {
assert(v);
diff --git a/util.h b/util.h
index 9aceaef47f..c3d3aad7b9 100644
--- a/util.h
+++ b/util.h
@@ -61,6 +61,7 @@ bool endswith(const char *s, const char *postfix);
bool startswith(const char *s, const char *prefix);
int close_nointr(int fd);
+void close_nointr_nofail(int fd);
int parse_boolean(const char *v);