From 8b754e6d80a9a6a6fc17b300ad6461aa60079fe9 Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Sun, 26 Nov 2006 18:29:39 +0000 Subject: Make the bcfg2 server drain the fam queue before processing network requests (Hopefully Resolves Ticket #282) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2544 ce84e21b-d406-0410-9b95-82705330c041 --- src/sbin/bcfg2-server | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/sbin') diff --git a/src/sbin/bcfg2-server b/src/sbin/bcfg2-server index 0546d869f..0f67ccff1 100755 --- a/src/sbin/bcfg2-server +++ b/src/sbin/bcfg2-server @@ -97,6 +97,15 @@ class Bcfg2Serv(Bcfg2.Server.Component.Component): for method in plugin.__rmi__: self.register_function(getattr(self.Core.plugins[plugin.__name__], method), "%s.%s" % (plugin.__name__, method)) + famfd = self.Core.fam.fileno() + while True: + try: + rsockinfo = select.select([famfd], [], [], 15)[0] + if not rsockinfo: + break + self.Core.Service() + except socket.error: + continue def get_request(self): '''We need to do work between requests, so select with timeout instead of blocking in accept''' -- cgit v1.2.3-1-g7c22