c/r: remember to clean up pidfile

When restoring, we didn't clean up the pidfile that criu uses to pass us the
init pid on error or success; let's do that.

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
Tycho Andersen 2015-06-01 21:14:57 -06:00 committed by Stéphane Graber
parent d24095e46a
commit 59c2d40689

View File

@ -527,6 +527,9 @@ void do_restore(struct lxc_container *c, int pipe, char *directory, bool verbose
ret = fscanf(f, "%d", (int*) &handler->pid);
fclose(f);
if (unlink(pidfile) < 0 && errno != ENOENT)
SYSERROR("unlinking pidfile failed");
if (ret != 1) {
ERROR("reading restore pid failed");
goto out_fini_handler;
@ -557,6 +560,8 @@ void do_restore(struct lxc_container *c, int pipe, char *directory, bool verbose
out_fini_handler:
lxc_fini(c->name, handler);
if (unlink(pidfile) < 0 && errno != ENOENT)
SYSERROR("unlinking pidfile failed");
out:
if (pipe >= 0) {