~kampka/ubuntu/quantal/lxc/upstart-instance

« back to all changes in this revision

Viewing changes to debian/patches/0201-fix-mkdir-race

  • Committer: Package Import Robot
  • Author(s): Stéphane Graber, Serge Hallyn, Stéphane Graber
  • Date: 2012-08-25 12:44:17 UTC
  • Revision ID: package-import@ubuntu.com-20120825124417-yn1xu1x10fi7o972
Tags: 0.8.0~rc1-4ubuntu29
[ Serge Hallyn ]
* fix lxcapi_start to not return true when it container failed to start.
* 0201-fix-mkdir-race: don't raise error if mkdir fails with EEXIST.
* 0202-make-api-start-reliable: have daemonized start through the api
  wait until the container is RUNNING before returning true.  If a 5
  second timeout is hit before the container is RUNNING, return false.

[ Stéphane Graber ]
* python-lxc: in get_ips() if timeout is 1 don't wait one second before
  returning.
* python-lxc: Add import time warning that the API isn't yet stable and
  so may change at any point in the future.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Description: if mkdir fails with -EEXIST, let it be.
 
2
Author: Serge Hallyn <serge.hallyn@ubuntu.com>
 
3
Forwarded: yes
 
4
 
 
5
Index: lxc/src/lxc/cgroup.c
 
6
===================================================================
 
7
--- lxc.orig/src/lxc/cgroup.c   2012-08-24 10:51:33.375144000 -0500
 
8
+++ lxc/src/lxc/cgroup.c        2012-08-24 10:59:42.293491913 -0500
 
9
@@ -357,9 +357,12 @@
 
10
        }
 
11
 
 
12
        /* if /sys/fs/cgroup/<cgroup>/<init-cgroup>/lxc does not exist, create it */
 
13
-       if (access(cgparent, F_OK) && mkdir(cgparent, 0755)) {
 
14
-               SYSERROR("failed to create '%s' directory", cgparent);
 
15
-               return -1;
 
16
+       if (access(cgparent, F_OK)) {
 
17
+               ret = mkdir(cgparent, 0755);
 
18
+               if (ret == -1 && errno == EEXIST) {
 
19
+                       SYSERROR("failed to create '%s' directory", cgparent);
 
20
+                       return -1;
 
21
+               }
 
22
        }
 
23
 
 
24
        /*