chiark / gitweb /
util: don't fail if we cannot close valgrind's fds
[elogind.git] / util.c
diff --git a/util.c b/util.c
index f3af9567cf49cb79043977511e52b2112e0361b9..03c60af98daa527222c87214cb14d60edc6c1a9b 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1162,10 +1162,15 @@ int close_all_fds(const int except[], unsigned n_except) {
                                 continue;
                 }
 
-                if ((r = close_nointr(fd)) < 0)
-                        goto finish;
+                if ((r = close_nointr(fd)) < 0) {
+                        /* Valgrind has its own FD and doesn't want to have it closed */
+                        if (errno != EBADF)
+                                goto finish;
+                }
         }
 
+        r = 0;
+
 finish:
         closedir(d);
         return r;