def stopAll(self, stop=False):
		"""
		Stop all registered Threads. This is method assumes that the Thread is using
		and internal variable called stop to control its main loop. Stopping a Thread
		is achieved as follows:

		1. The Thread is retrieved.
		2. $thread.stop is set to False.
		3. The Thread is joined, and will wait until the Thread exits.
		4. The Thread is unregistered.
		5. If $exit = True, the main process is killed.

		Ensure that any registered Thread responds to having its stop property set to False,
		else calling stopAll() will result in a hung process.
		"""
		self.logger.info("Stopping all threads...")

		for thread in self.getThreads():
			thr = self.getThread(thread)
			self.logger.debug("Stopping {0}".format(thr.name))
			thr.stop = True
			thr.join()
			self.unregisterThread(thread)

		self.logger.info("Stopped all threads")

		if stop:
			self.logger.fatal("Comitting suicide")
			os._exit(0)
Stop all registered Threads. This is method assumes that the Thread is using
		and internal variable called stop to control its main loop. Stopping a Thread
		is achieved as follows:

		1. The Thread is retrieved.
		2. $thread.stop is set to False.
		3. The Thread is joined, and will wait until the Thread exits.
		4. The Thread is unregistered.
		5. If $exit = True, the main process is killed.

		Ensure that any registered Thread responds to having its stop property set to False,
		else calling stopAll() will result in a hung process.