extras-buildsys/server PackageJob.py,1.33,1.34

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Sun Nov 13 04:27:57 UTC 2005


Author: dcbw

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

Modified Files:
	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.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- PackageJob.py	25 Oct 2005 15:16:10 -0000	1.33
+++ PackageJob.py	13 Nov 2005 04:27:55 -0000	1.34
@@ -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