mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-01-22 18:05:10 +00:00
pycriu: Fix self-dump failure with explicit PID
When `opts.pid` is explicitly set to `os.getpid()`, `pycriu` fails to daemonize the `criu` process. This causes `criu` to run as a child of the dumped process, leading to the error "The criu itself is within dumped tree". This can be fixed by modifying `_send_req_and_recv_resp` to check if the target PID matches the current process PID. If so, it enables daemon mode, ensuring `criu` is detached and the dump succeeds. Signed-off-by: unichronic <ishuvam.pal@gmail.com>
This commit is contained in:
parent
21a6758268
commit
9e5fbcd668
1 changed files with 1 additions and 1 deletions
|
|
@ -242,7 +242,7 @@ class criu:
|
|||
# process resources from its own if criu is located in a same
|
||||
# process tree it is trying to dump.
|
||||
daemon = False
|
||||
if req.type == rpc.DUMP and not req.opts.HasField('pid'):
|
||||
if req.type == rpc.DUMP and (not req.opts.HasField('pid') or req.opts.pid == os.getpid()):
|
||||
daemon = True
|
||||
|
||||
try:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue