Difference between revisions of "Stages of restoring"

From CRIU
Jump to: navigation, search
(crtools -> criu)
Line 1: Line 1:
 
A process of restoring has a few global synchronization points:
 
A process of restoring has a few global synchronization points:
* CR_STATE_FORKING - Create tasks and restore group leaders.
+
{| class="wikitable"
* CR_STATE_RESTORE_PGID - Restore group IDs. Group leaders should exist in this moment and all helpers should be alive.
+
| <code>CR_STATE_FORKING</code> || Create tasks and restore group leaders
* CR_STATE_RESTORE - Wait helpers and restore a most part of resources. If anyone segfauls, its parent gets SIGCHLD and notify criu about that.
+
|-
* CR_STATE_RESTORE_SIGCHLD - Restore SIGCHLD handlers
+
| <code>CR_STATE_RESTORE_PGID</code> || Restore group IDs. Group leaders should exist in this moment and all helpers should be alive
* CR_STATE_COMPLETE - All handlers were restored, origin processes can be resumed.
+
|-
 +
| <code>CR_STATE_RESTORE</code> || Wait helpers and restore a most part of resources. If anyone segfauls, its parent gets SIGCHLD and notify criu about that
 +
|-
 +
| <code>CR_STATE_RESTORE_SIGCHLD</code> || Restore <code>SIGCHLD</code> handlers
 +
|-
 +
| <code>CR_STATE_COMPLETE</code> || All handlers were restored, origin processes can be resumed.
 +
|}

Revision as of 17:00, 30 April 2013

A process of restoring has a few global synchronization points:

CR_STATE_FORKING Create tasks and restore group leaders
CR_STATE_RESTORE_PGID Restore group IDs. Group leaders should exist in this moment and all helpers should be alive
CR_STATE_RESTORE Wait helpers and restore a most part of resources. If anyone segfauls, its parent gets SIGCHLD and notify criu about that
CR_STATE_RESTORE_SIGCHLD Restore SIGCHLD handlers
CR_STATE_COMPLETE All handlers were restored, origin processes can be resumed.