From: Greg Kurz Date: Tue, 13 Sep 2011 13:08:04 +0000 (+0200) Subject: only warn for inherited file descriptors X-Git-Tag: lxc-0.8.0-rc2~89 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=92c7f6295518;p=thirdparty%2Flxc.git 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 Signed-off-by: Daniel Lezcano --- diff --git a/src/lxc/start.c b/src/lxc/start.c index 6737a44d2..9481a8ab0 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)