summaryrefslogtreecommitdiffstats
path: root/libvirt-utils.c
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2013-09-27 15:12:14 +0100
committerDaniel P. Berrange <berrange@redhat.com>2013-11-12 18:02:07 +0000
commitb3d1e58b6e0d2317015660c440960844e54940b0 (patch)
treec39fc2c458f7d19d4a61e8ad97d5b661d409a3ec /libvirt-utils.c
parent63af664b68c388b421a584868c88e9d41f9c7f7f (diff)
downloadlibvirt-python-v6-b3d1e58b6e0d2317015660c440960844e54940b0.tar.gz
libvirt-python-v6-b3d1e58b6e0d2317015660c440960844e54940b0.tar.xz
libvirt-python-v6-b3d1e58b6e0d2317015660c440960844e54940b0.zip
Import VIR_FORCE_CLOSE macro from libvirt
Import the macro for safely closing file descriptors Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'libvirt-utils.c')
-rw-r--r--libvirt-utils.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/libvirt-utils.c b/libvirt-utils.c
index 873552c..6866bf1 100644
--- a/libvirt-utils.c
+++ b/libvirt-utils.c
@@ -115,3 +115,22 @@ void virFree(void *ptrptr)
*(void**)ptrptr = NULL;
errno = save_errno;
}
+
+
+int virFileClose(int *fdptr)
+{
+ int saved_errno = 0;
+ int rc = 0;
+
+ saved_errno = errno;
+
+ if (*fdptr < 0)
+ return 0;
+
+ rc = close(*fdptr);
+ *fdptr = -1;
+
+ errno = saved_errno;
+
+ return rc;
+}