diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2004-10-27 19:41:18 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2004-10-27 19:41:18 +0000 |
commit | f41ce12c1334e472dce9734aeb045566e96ef839 (patch) | |
tree | bb9682b6c07bfc669613d4b982760c723c5a4bc4 | |
parent | 694e8b7c746d4b334ea7f203d044e37d0fab7ae9 (diff) | |
download | bcfg2-f41ce12c1334e472dce9734aeb045566e96ef839.tar.gz bcfg2-f41ce12c1334e472dce9734aeb045566e96ef839.tar.bz2 bcfg2-f41ce12c1334e472dce9734aeb045566e96ef839.zip |
fix race
2004/10/27 14:01:33-05:00 anl.gov!desai
fix directory changed event failure
(Logical change 1.120)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@531 ce84e21b-d406-0410-9b95-82705330c041
-rw-r--r-- | src/lib/Server/Generators/cfg.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/Server/Generators/cfg.py b/src/lib/Server/Generators/cfg.py index a18445a03..2b1eb333c 100644 --- a/src/lib/Server/Generators/cfg.py +++ b/src/lib/Server/Generators/cfg.py @@ -168,7 +168,12 @@ class ConfigFileRepository(DirectoryBacked): def AddEntry(self, name): '''Add new entry to FAM structures''' - if S_ISDIR(stat(name)[ST_MODE]): + try: + sdata = stat(name)[ST_MODE] + except OSError: + return + + if S_ISDIR(sdata): self.AddDirectoryMonitor(name) else: # file entries shouldn't contain path-to-repo @@ -196,7 +201,10 @@ class ConfigFileRepository(DirectoryBacked): configfile = filename[len(self.name):-(len(event.filename)+1)] if event.filename == ':info': event.filename = filename - self.entries[configfile].HandleEvent(event) + if self.entries.has_key(configfile): + self.entries[configfile].HandleEvent(event) + else: + syslog(LOG_INFO, "Ignoring event for %s"%(configfile)) elif action == 'deleted': configfile = filename[len(self.name):-(len(event.filename)+1)] self.entries[configfile].HandleEvent(event) |