[lxc-devel] [PATCH 1/2] Support starting containers concurrently
S.Çağlar Onur
caglar at 10ur.org
Tue Apr 23 21:24:31 UTC 2013
From: "S.Çağlar Onur" <caglar at 10ur.org>
Trying to start multiple containers concurrently may cause lxc_monitor_read_timeout to fail as select call could be interrupted by a signal, handle it.
Signed-off-by: S.Çağlar Onur <caglar at 10ur.org>
---
src/lxc/state.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/lxc/state.c b/src/lxc/state.c
index 437f11a..60da22c 100644
--- a/src/lxc/state.c
+++ b/src/lxc/state.c
@@ -231,8 +231,11 @@ extern int lxc_wait(const char *lxcname, const char *states, int timeout, const
goto out_close;
curtime = tv.tv_sec;
}
- if (lxc_monitor_read_timeout(fd, &msg, timeout) < 0)
- goto out_close;
+ if (lxc_monitor_read_timeout(fd, &msg, timeout) < 0) {
+ /* try again if select interrupted by signal */
+ if (errno != EINTR)
+ goto out_close;
+ }
if (timeout != -1) {
retval = gettimeofday(&tv, NULL);
--
1.7.10.4
More information about the lxc-devel
mailing list