<div dir="ltr">I don&#39;t know the internals, but I did have this implemented as a python module using BLCR.  In that case, the guts of the operation is:<div><br><div>  int err = cr_request_checkpoint (&amp;cr_args, &amp;cr_handle);<div>
<br></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 3, 2013 at 7:45 AM, Pavel Emelyanov <span dir="ltr">&lt;<a href="mailto:xemul@parallels.com" target="_blank">xemul@parallels.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 07/03/2013 03:22 PM, Neal Becker wrote:<br>
&gt; Some time back I had asked about this:<br>
&gt;<br>
&gt; <a href="http://lists.openvz.org/pipermail/criu/2013-April/008339.html" target="_blank">http://lists.openvz.org/pipermail/criu/2013-April/008339.html</a><br>
&gt;<br>
&gt; and then promptly forgot the subject.  Now that f19 is released and has criu, I&#39;m wondering what is the status?<br>
<br>
</div>Unfortunately, nothing has changed since then. But as I told, we&#39;re ready to discuss ideas<br>
and review patches if any.<br>
<div class="im"><br>
&gt; My usage is for programs (with a python main) to be able to periodically checkpoint themselves.  Of course, they<br>
&gt; could simply do that now by &#39;shelling out&#39;.  But where&#39;s the fun in that?<br>
<br>
</div>Well, the first thing that comes to my mind about &quot;app to checkpoint itself&quot; is -- how<br>
would CRIU .so tell process&#39; own resources from criu&#39;s ones? E.g. memory mapping with<br>
the .so itself can be checked, but how about malloc()-ed objects or opened files?<br>
<br>
If you want to do periodic self-checkpoint, maybe the following model would work:<br>
<br>
* launch criu daemon/service<br>
* when an app wants to checkpoint itself it &quot;kicks&quot; this daemon somehow, in this case it<br>
  _can_ be a .so which only does necessary communication to the criu service<br>
* daemon calls dump on app&#39;s pid<br>
<br>
What do you think?<br>
<br>
Thanks,<br>
Pavel<br>
</blockquote></div><br></div>