@@ -345,9 +345,9 @@ class SiteManagerPlugin(object):
345345 def updateMergerSites (self ):
346346 global merger_db , merged_db , merged_to_merger , site_manager
347347 s = time .time ()
348- merger_db = {}
349- merged_db = {}
350- merged_to_merger = {}
348+ merger_db_new = {}
349+ merged_db_new = {}
350+ merged_to_merger_new = {}
351351 site_manager = self
352352 if not self .sites :
353353 return
@@ -359,7 +359,7 @@ def updateMergerSites(self):
359359 self .log .error ("Error loading site %s: %s" % (site .address , Debug .formatException (err )))
360360 continue
361361 if merged_type :
362- merged_db [site .address ] = merged_type
362+ merged_db_new [site .address ] = merged_type
363363
364364 # Update merger sites
365365 for permission in site .settings ["permissions" ]:
@@ -373,18 +373,24 @@ def updateMergerSites(self):
373373 site .settings ["permissions" ].remove (permission )
374374 continue
375375 merger_type = permission .replace ("Merger:" , "" )
376- if site .address not in merger_db :
377- merger_db [site .address ] = []
378- merger_db [site .address ].append (merger_type )
376+ if site .address not in merger_db_new :
377+ merger_db_new [site .address ] = []
378+ merger_db_new [site .address ].append (merger_type )
379379 site_manager .sites [site .address ] = site
380380
381381 # Update merged to merger
382382 if merged_type :
383383 for merger_site in self .sites .values ():
384384 if "Merger:" + merged_type in merger_site .settings ["permissions" ]:
385385 if site .address not in merged_to_merger :
386- merged_to_merger [site .address ] = []
387- merged_to_merger [site .address ].append (merger_site )
386+ merged_to_merger_new [site .address ] = []
387+ merged_to_merger_new [site .address ].append (merger_site )
388+
389+ # Update globals
390+ merger_db = merger_db_new
391+ merged_db = merged_db_new
392+ merged_to_merger = merged_to_merger_new
393+
388394 self .log .debug ("Updated merger sites in %.3fs" % (time .time () - s ))
389395
390396 def load (self , * args , ** kwags ):
0 commit comments