[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH] file: Log closing filedescriptors



---
 src/util/virfile.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/util/virfile.c b/src/util/virfile.c
index db3d737..bc7f2c9 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -35,6 +35,7 @@
 #include "configmake.h"
 #include "memory.h"
 #include "virterror_internal.h"
+#include "logging.h"
 
 #define VIR_FROM_THIS VIR_FROM_NONE
 #define virFileError(code, ...)                                   \
@@ -51,6 +52,15 @@ int virFileClose(int *fdptr, bool preserve_errno)
         if (preserve_errno)
             saved_errno = errno;
         rc = close(*fdptr);
+        if (rc < 0) {
+            if (errno != EBADF) {
+                char ebuf[1024] ATTRIBUTE_UNUSED;
+                VIR_DEBUG("Failed to close fd %d: %d",
+                          *fdptr, virStrerror(errno, ebuf, sizeof(ebuf)));
+            }
+        } else {
+            VIR_DEBUG("Closed fd %d", *fdptr);
+        }
         *fdptr = -1;
         if (preserve_errno)
             errno = saved_errno;
-- 
1.7.10.2


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]