From: Adam Sampson Date: Sun, 15 Oct 2006 01:31:01 +0000 (+0000) Subject: Merge --no-lock-wait X-Git-Tag: v2.12rc1~7 X-Git-Url: http://git.ozo.com/?a=commitdiff_plain;h=0b831650f0ff19a3283444360c0f3e297d456cd0;p=rawdog%2F.git Merge --no-lock-wait --- diff --git a/rawdoglib/rawdog.py b/rawdoglib/rawdog.py index c8bd496..59c6725 100644 --- a/rawdoglib/rawdog.py +++ b/rawdoglib/rawdog.py @@ -1539,13 +1539,13 @@ Special actions (all other options are ignored if one of these is specified): Report bugs to .""" -def load_persisted(fn, klass, config): +def load_persisted(fn, klass, config, no_block = False): """Attempt to load a persisted object. Returns the persister and the object.""" config.log("Loading state file: ", fn) persister = Persister(fn, klass, config.locking) try: - obj = persister.load() + obj = persister.load(no_block = no_block) except KeyboardInterrupt: sys.exit(1) except: @@ -1621,16 +1621,9 @@ def main(argv): if verbose: config["verbose"] = True - persister = Persister("state", Rawdog, locking) - try: - rawdog = persister.load() - except KeyboardInterrupt: - return 1 - except: - print "An error occurred while reading state from " + statedir + "/state." - print "This usually means the file is corrupt, and removing it will fix the problem." - return 1 - + persister, rawdog = load_persisted("state", Rawdog, config, no_lock_wait) + if rawdog is None: + return 0 if not rawdog.check_state_version(): print "The state file " + statedir + "/state was created by an older" print "version of rawdog, and cannot be read by this version."