72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber * Copyright © 2012 Serge Hallyn <serge.hallyn@ubuntu.com>.
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber * Copyright © 2012 Canonical Ltd.
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber * This program is free software; you can redistribute it and/or modify
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber * it under the terms of the GNU General Public License version 2, as
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber * published by the Free Software Foundation.
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber * This program is distributed in the hope that it will be useful,
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber * but WITHOUT ANY WARRANTY; without even the implied warranty of
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber * GNU General Public License for more details.
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber * You should have received a copy of the GNU General Public License along
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber * with this program; if not, write to the Free Software Foundation, Inc.,
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
df271a59cbfcfbe98fa4bd7af3ae595633539a12Serge Hallyn fprintf(stderr, "%d: child: failed to create lock\n", __LINE__);
df271a59cbfcfbe98fa4bd7af3ae595633539a12Serge Hallyn if (lxclock(l, 0) < 0) {
df271a59cbfcfbe98fa4bd7af3ae595633539a12Serge Hallyn fprintf(stderr, "%d: child: failed to grab lock\n", __LINE__);
df271a59cbfcfbe98fa4bd7af3ae595633539a12Serge Hallyn fprintf(stderr, "%d: child: grabbed lock\n", __LINE__);
df271a59cbfcfbe98fa4bd7af3ae595633539a12Serge Hallyn fprintf(stderr, "%d: failed to create lock\n", __LINE__);
df271a59cbfcfbe98fa4bd7af3ae595633539a12Serge Hallyn if (lxclock(l, 0) < 0) {
df271a59cbfcfbe98fa4bd7af3ae595633539a12Serge Hallyn fprintf(stderr, "%d; failed to get lock\n", __LINE__);
df271a59cbfcfbe98fa4bd7af3ae595633539a12Serge Hallyn printf("%d exited normally with exit code %d\n", pid,
df271a59cbfcfbe98fa4bd7af3ae595633539a12Serge Hallyn } else if (ret < 0) {
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber fprintf(stderr, "%d: failed to get unnamed lock\n", __LINE__);
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber fprintf(stderr, "%d: failed to take unnamed lock (%d)\n", __LINE__, ret);
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber fprintf(stderr, "%d: failed to put unnamed lock (%d)\n", __LINE__, ret);
df271a59cbfcfbe98fa4bd7af3ae595633539a12Serge Hallyn lock = lxc_newlock("/var/lib/lxc", mycontainername);
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber fprintf(stderr, "%d: failed to get lock\n", __LINE__);
72cf81f6a3404e35028567db2c99a90406e9c6e6Serge Hallyn char *pathname = RUNTIME_PATH "/lxc/lock/var/lib/lxc/";
df271a59cbfcfbe98fa4bd7af3ae595633539a12Serge Hallyn fprintf(stderr, "%d: filename %s not created\n", __LINE__,