From 3260ec92b2d9fba4b8d37559d8f6ceb49a57e4ff Mon Sep 17 00:00:00 2001 From: Jason Kincl Date: Wed, 17 Apr 2013 14:40:49 -0400 Subject: Adding option to force server to wait until all FAM events are processed --- src/lib/Bcfg2/Options.py | 5 +++++ src/lib/Bcfg2/Server/Core.py | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'src') diff --git a/src/lib/Bcfg2/Options.py b/src/lib/Bcfg2/Options.py index 55f799a29..401cb64b7 100644 --- a/src/lib/Bcfg2/Options.py +++ b/src/lib/Bcfg2/Options.py @@ -535,6 +535,11 @@ SERVER_FAM_IGNORE = \ 'SCCS', '.svn', '4913', '.gitignore'], cf=('server', 'ignore_files'), cook=list_split) +SERVER_FAM_BLOCK = \ + Option('FAM blocks on startup until all events are processed', + default=False, + cook=get_bool, + cf=('server', 'fam_blocking')) SERVER_LISTEN_ALL = \ Option('Listen on all interfaces', default=False, diff --git a/src/lib/Bcfg2/Server/Core.py b/src/lib/Bcfg2/Server/Core.py index 59d67e566..b0197ed00 100644 --- a/src/lib/Bcfg2/Server/Core.py +++ b/src/lib/Bcfg2/Server/Core.py @@ -776,6 +776,11 @@ class BaseCore(object): self.shutdown() raise + if setup['fam_blocking']: + time.sleep(1) + while self.fam.pending() != 0: + time.sleep(1) + self.set_debug(None, self.debug_flag) self._block() -- cgit v1.2.3-1-g7c22