def stop(self):
        if self.thread is None:
            self.bus.log("No thread running for %s." % self.name or self.__class__.__name__)
        else:
            if self.thread is not threading.currentThread():
                name = self.thread.getName()
                self.thread.cancel()
                if not get_daemon(self.thread):
                    self.bus.log("Joining %r" % name)
                    self.thread.join()
                self.bus.log("Stopped thread %r." % name)
            self.thread = None
:py:obj:`Context.set_session_cache_mode` raises :py:obj:`TypeError` if
dataset/ETHPy150Open AppScale/appscale/AppServer/lib/cherrypy/cherrypy/process/plugins.py/Monitor.stop--crossover with--dataset/ETHPy150Open cloudera/hue/desktop/core/ext-py/pyopenssl/OpenSSL/test/test_ssl.py/ContextTests.test_set_session_cache_mode_wrong_args