]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
Revert "api_create and api_start: work toward making them thread-safe"
authorSerge Hallyn <serge.hallyn@ubuntu.com>
Sat, 14 Sep 2013 18:09:53 +0000 (13:09 -0500)
committerSerge Hallyn <serge.hallyn@ubuntu.com>
Sat, 14 Sep 2013 18:09:53 +0000 (13:09 -0500)
This should deadlock with daemonized start due to af_unix changes.

Do this later, but do it more carefully.

This reverts commit 002f3cff4d83c0666cfda40599eded8e0d638c6c.

src/lxc/af_unix.c
src/lxc/commands.c
src/lxc/lxccontainer.c
src/lxc/parse.c
src/lxc/utils.c

index d6d18ca158c90ff4b629fe96b75a6920749910e3..204658d32913d245e6bf7c101baca0e9c5a253c6 100644 (file)
@@ -30,7 +30,6 @@
 #include <sys/un.h>
 
 #include "log.h"
-#include "lxclock.h"
 
 lxc_log_define(lxc_af_unix, lxc);
 
@@ -101,9 +100,7 @@ int lxc_af_unix_connect(const char *path)
        int fd;
        struct sockaddr_un addr;
 
-       process_lock();
        fd = socket(PF_UNIX, SOCK_STREAM, 0);
-       process_unlock();
        if (fd < 0)
                return -1;
 
@@ -116,9 +113,7 @@ int lxc_af_unix_connect(const char *path)
 
        if (connect(fd, (struct sockaddr *)&addr, sizeof(addr))) {
                int tmp = errno;
-               process_lock();
                close(fd);
-               process_unlock();
                errno = tmp;
                return -1;
        }
index c706a7a5d4e4dda90c8d68c17f6a21b990167017..f12ae2dece926cd8fb180428a3f910cf38828506 100644 (file)
@@ -46,7 +46,6 @@
 #include "mainloop.h"
 #include "af_unix.h"
 #include "config.h"
-#include "lxclock.h"
 
 /*
  * This file provides the different functions for clients to
@@ -283,11 +282,8 @@ static int lxc_cmd(const char *name, struct lxc_cmd_rr *cmd, int *stopped,
 
        ret = lxc_cmd_rsp_recv(sock, cmd);
 out:
-       if (!stay_connected || ret <= 0) {
-               process_lock();
+       if (!stay_connected || ret <= 0)
                close(sock);
-               process_unlock();
-       }
        if (stay_connected && ret > 0)
                cmd->rsp.ret = sock;
 
index 3c51c4ae3caf2e9c772791fca2fe46baddc959ac..79237dff4d004c333f7b042599543532778438bf 100644 (file)
@@ -665,9 +665,7 @@ static bool create_container_dir(struct lxc_container *c)
                free(s);
                return false;
        }
-       process_lock();
        ret = mkdir(s, 0755);
-       process_unlock();
        if (ret) {
                if (errno == EEXIST)
                        ret = 0;
@@ -1364,15 +1362,11 @@ static bool lxcapi_save_config(struct lxc_container *c, const char *alt_file)
        if (lret)
                return false;
 
-       process_lock();
        fout = fopen(alt_file, "w");
-       process_unlock();
        if (!fout)
                goto out;
        write_config(fout, c->lxc_conf);
-       process_lock();
        fclose(fout);
-       process_unlock();
        ret = true;
 
 out:
index 7875c8969ce772c4a6f35351e3beafb168c6cee8..26cbbdd00b427971effcfcfdcd0528b9cfc28bb3 100644 (file)
@@ -31,7 +31,6 @@
 #include "parse.h"
 #include "config.h"
 #include "utils.h"
-#include "lxclock.h"
 #include <lxc/log.h>
 
 /* Workaround for the broken signature of alphasort() in bionic.
@@ -91,9 +90,7 @@ int lxc_file_for_each_line(const char *file, lxc_file_cb callback, void *data)
        char *line = NULL;
        size_t len = 0;
 
-       process_lock();
        f = fopen(file, "r");
-       process_unlock();
        if (!f) {
                SYSERROR("failed to open %s", file);
                return -1;
@@ -107,9 +104,7 @@ int lxc_file_for_each_line(const char *file, lxc_file_cb callback, void *data)
 
        if (line)
                free(line);
-       process_lock();
        fclose(f);
-       process_unlock();
        return err;
 }
 
index c561c004cd3fec42ac3080d54c6faf11092fca60..78b234d98313ae316e55c9bab6131e87445ef044 100644 (file)
@@ -47,7 +47,6 @@
 
 #include "utils.h"
 #include "log.h"
-#include "lxclock.h"
 
 lxc_log_define(lxc_utils, lxc);
 
@@ -410,10 +409,7 @@ int sha1sum_file(char *fnam, unsigned char *digest)
 
        if (!fnam)
                return -1;
-       process_lock();
-       f = fopen_cloexec(fnam, "r");
-       process_unlock();
-       if (f < 0) {
+       if ((f = fopen_cloexec(fnam, "r")) < 0) {
                SYSERROR("Error opening template");
                return -1;
        }
@@ -443,10 +439,7 @@ int sha1sum_file(char *fnam, unsigned char *digest)
                fclose(f);
                return -1;
        }
-       process_lock();
-       ret = fclose(f);
-       process_unlock();
-       if (ret < 0) {
+       if (fclose(f) < 0) {
                SYSERROR("Failre closing template");
                free(buf);
                return -1;