From b3d1e58b6e0d2317015660c440960844e54940b0 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Fri, 27 Sep 2013 15:12:14 +0100 Subject: Import VIR_FORCE_CLOSE macro from libvirt Import the macro for safely closing file descriptors Signed-off-by: Daniel P. Berrange --- libvirt-utils.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'libvirt-utils.c') 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; +} -- cgit