diff options
-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) |