extras-buildsys/server PackageJob.py,1.31.2.2,1.31.2.3

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Mon Nov 14 01:29:35 UTC 2005


Author: dcbw

Update of /cvs/fedora/extras-buildsys/server
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4767/server

Modified Files:
      Tag: STABLE_0_4
	PackageJob.py 
Log Message:
2005-11-12  Dan Williams  <dcbw at redhat.com>

    * server/PackageJob.py
        - (die): immediately kill jobs by starting up a controller
            thread when the job is in 'waiting' stage




Index: PackageJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/PackageJob.py,v
retrieving revision 1.31.2.2
retrieving revision 1.31.2.3
diff -u -r1.31.2.2 -r1.31.2.3
--- PackageJob.py	25 Oct 2005 15:18:41 -0000	1.31.2.2
+++ PackageJob.py	14 Nov 2005 01:29:33 -0000	1.31.2.3
@@ -473,7 +473,17 @@
     def die(self, username):
         self._killer = username
         self._die = True
-        self.wake()
+
+        self._archjobs_lock.acquire()
+        if self.curstage == 'waiting':
+            # In 'waiting' stage, we have no controller thread.  So to get
+            # the job killed immediately, we have to start one
+            t = PackageJobController(self, 'killed', None)
+            t.start()
+        else:
+            # Otherwise, wake up the existing controller thread
+            self.wake()
+        self._archjobs_lock.release()
 
     def _handle_death(self):
         resultstring = "%s (%s): Build on target %s was killed by %s." % (self.uid, self.name, self._target_str, self._killer)




More information about the fedora-extras-commits mailing list