Commit 368c4a50 authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by Cyrill Gorcunov

restore: Close ns_last_pid file fd

Otherwise it pops up after restore in target task's fdtable.
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
parent 09a7273e
...@@ -1344,7 +1344,7 @@ static void sigreturn_restore(pid_t pstree_pid, pid_t pid) ...@@ -1344,7 +1344,7 @@ static void sigreturn_restore(pid_t pstree_pid, pid_t pid)
* restorer code, thus unlink it early to make it disappear * restorer code, thus unlink it early to make it disappear
* as soon as we close it * as soon as we close it
*/ */
unlink(self_vmas_path); // unlink(self_vmas_path);
if (fd_self_vmas < 0) { if (fd_self_vmas < 0) {
pr_perror("Can't open %s\n", self_vmas_path); pr_perror("Can't open %s\n", self_vmas_path);
......
...@@ -542,6 +542,8 @@ self_len_end: ...@@ -542,6 +542,8 @@ self_len_end:
write_num_n(ret); write_num_n(ret);
goto core_restore_end; goto core_restore_end;
} }
sys_close(fd);
} }
/* /*
......
...@@ -35,6 +35,7 @@ run_test() ...@@ -35,6 +35,7 @@ run_test()
pid=`cat $test.pid` pid=`cat $test.pid`
ddump="dump/$tname/$pid" ddump="dump/$tname/$pid"
mkdir -p $ddump mkdir -p $ddump
ls -l /proc/$pid/fd/
setsid $CRTOOLS -D $ddump -o dump.log -d -t $pid || return 1 setsid $CRTOOLS -D $ddump -o dump.log -d -t $pid || return 1
while :; do while :; do
killall -9 $tname &> /dev/null || break; killall -9 $tname &> /dev/null || break;
...@@ -43,6 +44,7 @@ run_test() ...@@ -43,6 +44,7 @@ run_test()
done done
setsid $CRTOOLS -D $ddump -o restore.log -r -t $pid & setsid $CRTOOLS -D $ddump -o restore.log -r -t $pid &
sleep 1 sleep 1
ls -l /proc/$pid/fd/
make -C $tdir $tname.out make -C $tdir $tname.out
wait || return 1 wait || return 1
for i in `seq 5`; do for i in `seq 5`; do
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment