[lxc-devel] [PATCH 2/6] af_unix: make sure to keep useful errno
Serge Hallyn
serge.hallyn at ubuntu.com
Mon Mar 4 20:43:24 UTC 2013
Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
---
src/lxc/af_unix.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/lxc/af_unix.c b/src/lxc/af_unix.c
index 2a34828..f6c65fb 100644
--- a/src/lxc/af_unix.c
+++ b/src/lxc/af_unix.c
@@ -56,12 +56,16 @@ int lxc_af_unix_open(const char *path, int type, int flags)
path[0]?strlen(path):sizeof(addr.sun_path));
if (bind(fd, (struct sockaddr *)&addr, sizeof(addr))) {
+ int tmp = errno;
close(fd);
+ errno = tmp;
return -1;
}
if (type == SOCK_STREAM && listen(fd, 100)) {
+ int tmp = errno;
close(fd);
+ errno = tmp;
return -1;
}
@@ -99,7 +103,9 @@ int lxc_af_unix_connect(const char *path)
path[0]?strlen(path):sizeof(addr.sun_path));
if (connect(fd, (struct sockaddr *)&addr, sizeof(addr))) {
+ int tmp = errno;
close(fd);
+ errno = tmp;
return -1;
}
--
1.8.1.2
More information about the lxc-devel
mailing list