Gentoo Logo
Gentoo Spaceship

Installation:
Gentoo Handbook
Installation Docs

Documentation:
Home
Listing
About Gentoo
Philosophy
Social Contract

Resources:
Bug Tracker
Developer List
Discussion Forums
Gentoo BitTorrents
Gentoo Linux Enhancement Proposals
IRC Channels
Mailing Lists
Mirrors
Name and Logo Guidelines
Online Package Database
Security Announcements
Staffing Needs
Supporting Vendors
View our CVS

Graphics:
Logos and themes
Icons
ScreenShots

Miscellaneous Resources:
Gentoo Linux Store
Gentoo-hosted projects
IBM dW/Intel article archive




List Archive: gentoo-commits
Navigation:
Lists: gentoo-commits: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-commits@g.o
From: "Zac Medico (zmedico)" <zmedico@g.o>
Subject: portage r10949 - main/trunk/pym/_emerge
Date: Sun, 06 Jul 2008 00:44:01 +0000

 1.1

Author: zmedico
Date: 2008-07-06 00:44:00 +0000 (Sun, 06 Jul 2008)
New Revision: 10949

Modified:
   main/trunk/pym/_emerge/__init__.py
Log:
Add a CompositeTask._assert_current() method that asynchronous callbacks
can use detect possible bugs.


Modified: main/trunk/pym/_emerge/__init__.py
===================================================================
--- main/trunk/pym/_emerge/__init__.py	2008-07-06 00:01:31 UTC (rev 10948)
+++ main/trunk/pym/_emerge/__init__.py	2008-07-06 00:44:00 UTC (rev 10949)
@@ -1527,6 +1527,15 @@
 		self._wait_hook()
 		return self.returncode
 
+	def _assert_current(self, task):
+		"""
+		Raises an AssertionError if the given task is not the
+		same one as self._current_task. This can be useful
+		for detecting bugs.
+		"""
+		if task is not self._current_task:
+			raise AssertionError("Unrecognized task: %s" % (task,))
+
 class TaskSequence(CompositeTask):
 	"""
 	A collection of tasks that executes sequentially. Each task
@@ -1557,9 +1566,8 @@
 		task.start()
 
 	def _task_exit_handler(self, task):
-		if task is not self._current_task:
-			raise AssertionError("Unrecognized task: %s" % (task,))
 
+		self._assert_current(task)
 		if self._task_queue and \
 			task.returncode == os.EX_OK:
 			self._start_next_task()
@@ -1979,6 +1987,7 @@
 
 	def _clean_phase_exit(self, clean_phase):
 
+		self._assert_current(clean_phase)
 		if clean_phase.returncode != os.EX_OK:
 			self.returncode = clean_phase.returncode
 			self._current_task = None
@@ -2011,6 +2020,8 @@
 		ebuild_phases.start()
 
 	def _ebuild_phases_exit(self, ebuild_phases):
+
+		self._assert_current(ebuild_phases)
 		self.returncode = ebuild_phases.returncode
 		self._current_task = None
 

-- 
gentoo-commits@g.o mailing list


Navigation:
Lists: gentoo-commits: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
gentoo-x86 commit in net-www/nspluginwrapper: ChangeLog nspluginwrapper-1.0.0.ebuild
Next by thread:
gentoo-x86 commit in sys-kernel/vanilla-sources: ChangeLog vanilla-sources-2.6.26_rc9.ebuild
Previous by date:
gentoo commit in xml/htdocs/proj/en/infrastructure: server-specs.xml
Next by date:
gentoo commit in xml/htdocs/proj/en/infrastructure: server-specs.xml


Aug 29, 2008

Donate to support our development efforts.

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

php|architect

php|architect

Copyright 2001-2007 Gentoo Foundation, Inc. Questions, Comments? Email www@gentoo.org.