# HG changeset patch # User osimons # Date 1250682487 0 # Node ID 5e78705333c376e3d6199c2bc64a210dbc835dd3 # Parent 74237f60f8a977b605ba9bb0248bae1bdbd9444a 0.6dev: Fixing a possible situation of two slaves claiming the same build. Closes #95. diff --git a/bitten/queue.py b/bitten/queue.py --- a/bitten/queue.py +++ b/bitten/queue.py @@ -134,15 +134,16 @@ # Iterate through pending builds by descending revision timestamp, to # avoid the first configuration/platform getting all the builds platforms = [p.id for p in self.match_slave(name, properties)] - build = None builds_to_delete = [] + build_found = False for build in Build.select(self.env, status=Build.PENDING, db=db): if self.should_delete_build(build, repos): self.log.info('Scheduling build %d for deletion', build.id) builds_to_delete.append(build) elif build.platform in platforms: + build_found = True break - else: + if not build_found: self.log.debug('No pending builds.') build = None