Poodletooth-iLand/panda/python/Lib/site-packages/gevent/threading.py
2015-04-07 17:08:36 -04:00

34 lines
938 B
Python

from __future__ import absolute_import
__implements__ = ['local',
'_start_new_thread',
'_allocate_lock',
'Lock',
'_get_ident',
'_sleep',
'_DummyThread']
import threading as __threading__
_DummyThread_ = __threading__._DummyThread
from gevent.local import local
from gevent.thread import start_new_thread as _start_new_thread, allocate_lock as _allocate_lock, get_ident as _get_ident
from gevent.hub import sleep as _sleep, getcurrent
Lock = _allocate_lock
def _cleanup(g):
__threading__._active.pop(id(g))
class _DummyThread(_DummyThread_):
# instances of this will cleanup its own entry
# in ``threading._active``
def __init__(self):
_DummyThread_.__init__(self)
g = getcurrent()
rawlink = getattr(g, 'rawlink', None)
if rawlink is not None:
rawlink(_cleanup)