Return to BSD News archive
Xref: sserve comp.unix.bsd:12670 comp.unix.wizards:30882 comp.sys.sun.apps:4865 comp.sys.sun.misc:9678 Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!elroy.jpl.nasa.gov!sdd.hp.com!decwrl!decwrl!vixie!efficacy!vixie From: vixie@gw.home.vix.com (Paul A Vixie) Newsgroups: comp.unix.bsd,comp.unix.wizards,comp.sys.sun.apps,comp.sys.sun.misc Subject: Re: checkpointing software for UNIX or SunOS Date: 22 Sep 93 20:29:34 Organization: Vixie Enterprises Lines: 22 Distribution: world Message-ID: <VIXIE.93Sep22202934@gw.home.vix.com> References: <TMB.93Sep23012442@arolla.idiap.ch> NNTP-Posting-Host: gw.home.vix.com In-reply-to: tmb@arolla.idiap.ch's message of 22 Sep 1993 23:24:41 GMT I've seen several "undump"-like facilities built into shells and kernels to provide checkpointing, but the user community that can benefit from them is small and getting smaller since almost all long-running processes have network connections open to various servers (even implicit ones such as a connection to kerberos or hesiod or DNS), or they have files open to system configuration files (/etc/services, /etc/passwd) which might not be the same size and layout after a restart. Processes that need checkpointing generally have to implement it themselves, as Sendmail does with its frozen configuration file and as GNU Emacs does with its "undump" mechanism. Doing it within the application makes it possible to close or at least mark as unstable all of the various resources which won't be there after a restart. A restarted process will restart from a known place (sort of like a setjmp) and can check for all of the things it might need and open/reopen the ones that aren't there. You can steal code from GNU Emacs, perl, or Sendmail (pre-v8) for this. -- Paul Vixie Redwood City, CA <paul@vix.com> decwrl!vixie!paul