Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Unified Diff: third_party/twisted_8_1/twisted/python/threadable.py

Issue 12261012: Remove third_party/twisted_8_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/twisted_8_1/twisted/python/threadable.py
diff --git a/third_party/twisted_8_1/twisted/python/threadable.py b/third_party/twisted_8_1/twisted/python/threadable.py
deleted file mode 100644
index 93303204eacb6a9d978567b615297aaf3b97a982..0000000000000000000000000000000000000000
--- a/third_party/twisted_8_1/twisted/python/threadable.py
+++ /dev/null
@@ -1,120 +0,0 @@
-# -*- test-case-name: twisted.python.threadable -*-
-# Copyright (c) 2001-2004 Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-
-"""
-A module that will allow your program to be multi-threaded,
-micro-threaded, and single-threaded. Currently microthreads are
-unimplemented. The idea is to abstract away some commonly used
-functionality so that I don't have to special-case it in all programs.
-"""
-
-import warnings
-
-from twisted.python import hook
-
-class DummyLock(object):
- """
- Hack to allow locks to be unpickled on an unthreaded system.
- """
-
- def __reduce__(self):
- return (unpickle_lock, ())
-
-def unpickle_lock():
- if threadingmodule is not None:
- return XLock()
- else:
- return DummyLock()
-unpickle_lock.__safe_for_unpickling__ = True
-
-def _synchPre(self, *a, **b):
- if '_threadable_lock' not in self.__dict__:
- _synchLockCreator.acquire()
- if '_threadable_lock' not in self.__dict__:
- self.__dict__['_threadable_lock'] = XLock()
- _synchLockCreator.release()
- self._threadable_lock.acquire()
-
-def _synchPost(self, *a, **b):
- self._threadable_lock.release()
-
-def synchronize(*klasses):
- """Make all methods listed in each class' synchronized attribute synchronized.
-
- The synchronized attribute should be a list of strings, consisting of the
- names of methods that must be synchronized. If we are running in threaded
- mode these methods will be wrapped with a lock.
- """
- if threadmodule is not None:
- for klass in klasses:
- for methodName in klass.synchronized:
- hook.addPre(klass, methodName, _synchPre)
- hook.addPost(klass, methodName, _synchPost)
-
-def init(with_threads=1):
- """Initialize threading.
-
- Don't bother calling this. If it needs to happen, it will happen.
- """
- global threaded, _synchLockCreator, XLock
-
- if with_threads:
- if not threaded:
- if threadmodule is not None:
- threaded = True
-
- class XLock(threadingmodule._RLock, object):
- def __reduce__(self):
- return (unpickle_lock, ())
-
- _synchLockCreator = XLock()
- else:
- raise RuntimeError("Cannot initialize threading, platform lacks thread support")
- else:
- if threaded:
- raise RuntimeError("Cannot uninitialize threads")
- else:
- pass
-
-_dummyID = object()
-def getThreadID():
- if threadmodule is None:
- return _dummyID
- return threadmodule.get_ident()
-
-
-def isInIOThread():
- """Are we in the thread responsable for I/O requests (the event loop)?
- """
- return ioThread == getThreadID()
-
-
-def registerAsIOThread():
- """Mark the current thread as responsable for I/O requests.
- """
- global ioThread
- ioThread = getThreadID()
-
-
-ioThread = None
-threaded = False
-
-def whenThreaded(cb):
- warnings.warn("threadable.whenThreaded is deprecated. "
- "Use application-level logic instead.",
- DeprecationWarning, stacklevel=2)
- cb()
-
-try:
- import thread as threadmodule
- import threading as threadingmodule
-except ImportError:
- threadmodule = None
- threadingmodule = None
-else:
- init(True)
-
-__all__ = ['isInIOThread', 'registerAsIOThread', 'getThreadID', 'XLock',
- 'whenThreaded']
« no previous file with comments | « third_party/twisted_8_1/twisted/python/text.py ('k') | third_party/twisted_8_1/twisted/python/threadpool.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698