To restart, read the pages back into memory (sbrk()ing as necessary) and then longjmp() to the stored jump buffer.  The OS will take care of restoring application state from the jump buffer and the return out of the signal handler.
 
-{subsubection: Checkpoint Server}
+{subsubsection: Checkpoint Server}
 
 The checkpoint server is grad-student code, and the '2' files are the important ones.  It's not daemon core and has no security whatsoever.  It listens on a few canonical sockets.  The shadow gets a token (capability) from the checkpoint server and gives it to the starter/job, which can then use that token to fetch its checkpoint image.  The schedd can also talk to the checkpoint server, but only to remove a checkpoint image when the job is removed.  The shadow generally manages the checkpoint server for the standard universe.