aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Kurz <gkurz@fr.ibm.com>2011-09-13 15:08:04 +0200
committerDaniel Lezcano <dlezcano@fr.ibm.com>2011-09-13 15:08:04 +0200
commit92c7f6295518decd3989b2790d758888551e7d9a (patch)
tree9795d45747f5160c952b0fd9c88e9bea1d4643be
parentfixes for rpmbuild (diff)
downloadlxc-92c7f6295518decd3989b2790d758888551e7d9a.tar.gz
lxc-92c7f6295518decd3989b2790d758888551e7d9a.tar.bz2
lxc-92c7f6295518decd3989b2790d758888551e7d9a.zip
only warn for inherited file descriptors
As discussed in thread: http://sourceforge.net/mailarchive/forum.php?thread_name=4E5618C3.5060507%40free.fr&forum_name=lxc-devel We think it's better for now to only warn the user about a fd leaking into the container. Also remove the call to readlink() as it isn't really useful now: since the container will start anyway, the user can look into /proc/../fd or use lsof or whatever. Signed-off-by: Greg Kurz <gkurz@fr.ibm.com> Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
-rw-r--r--src/lxc/start.c20
1 files changed, 3 insertions, 17 deletions
diff --git a/src/lxc/start.c b/src/lxc/start.c
index 6737a44..9481a8a 100644
--- a/src/lxc/start.c
+++ b/src/lxc/start.c
@@ -141,7 +141,6 @@ int lxc_check_inherited(int fd_to_ignore)
struct dirent dirent, *direntp;
int fd, fddir;
DIR *dir;
- int ret = 0;
dir = opendir("/proc/self/fd");
if (!dir) {
@@ -152,9 +151,6 @@ int lxc_check_inherited(int fd_to_ignore)
fddir = dirfd(dir);
while (!readdir_r(dir, &dirent, &direntp)) {
- char procpath[64];
- char path[PATH_MAX];
-
if (!direntp)
break;
@@ -171,22 +167,12 @@ int lxc_check_inherited(int fd_to_ignore)
if (match_fd(fd))
continue;
- /*
- * found inherited fd
- */
- ret = -1;
- snprintf(procpath, sizeof(procpath), "/proc/self/fd/%d", fd);
-
- if (readlink(procpath, path, sizeof(path)) == -1)
- ERROR("readlink(%s) failed : %m", procpath);
- else
- ERROR("inherited fd %d on %s", fd, path);
+ WARN("inherited fd %d", fd);
}
- if (closedir(dir))
- ERROR("failed to close directory");
- return ret;
+ closedir(dir); /* cannot fail */
+ return 0;
}
static int setup_signal_fd(sigset_t *oldmask)