You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
2.7 KiB
114 lines
2.7 KiB
5 years ago
|
# cython: auto_pickle=False
|
||
|
|
||
|
cimport cython
|
||
|
from gevent._greenlet cimport Greenlet
|
||
|
|
||
|
cdef bint _PYPY
|
||
|
cdef ref
|
||
|
cdef copy
|
||
|
|
||
|
cdef object _marker
|
||
|
cdef str key_prefix
|
||
|
cdef bint _greenlet_imported
|
||
|
|
||
|
|
||
|
cdef extern from "greenlet/greenlet.h":
|
||
|
|
||
|
ctypedef class greenlet.greenlet [object PyGreenlet]:
|
||
|
pass
|
||
|
|
||
|
# These are actually macros and so much be included
|
||
|
# (defined) in each .pxd, as are the two functions
|
||
|
# that call them.
|
||
|
greenlet PyGreenlet_GetCurrent()
|
||
|
void PyGreenlet_Import()
|
||
|
|
||
|
cdef inline greenlet getcurrent():
|
||
|
return PyGreenlet_GetCurrent()
|
||
|
|
||
|
cdef inline void greenlet_init():
|
||
|
global _greenlet_imported
|
||
|
if not _greenlet_imported:
|
||
|
PyGreenlet_Import()
|
||
|
_greenlet_imported = True
|
||
|
|
||
|
|
||
|
cdef void _init()
|
||
|
|
||
|
@cython.final
|
||
|
@cython.internal
|
||
|
cdef class _wrefdict(dict):
|
||
|
cdef object __weakref__
|
||
|
|
||
|
@cython.final
|
||
|
@cython.internal
|
||
|
cdef class _greenlet_deleted:
|
||
|
cdef object idt
|
||
|
cdef object wrdicts
|
||
|
|
||
|
|
||
|
@cython.final
|
||
|
@cython.internal
|
||
|
cdef class _local_deleted:
|
||
|
cdef str key
|
||
|
cdef object wrthread
|
||
|
cdef _greenlet_deleted greenlet_deleted
|
||
|
|
||
|
@cython.final
|
||
|
@cython.internal
|
||
|
cdef class _localimpl:
|
||
|
cdef str key
|
||
|
cdef dict dicts
|
||
|
cdef tuple localargs
|
||
|
cdef dict localkwargs
|
||
|
cdef tuple localtypeid
|
||
|
cdef object __weakref__
|
||
|
|
||
|
|
||
|
@cython.final
|
||
|
@cython.internal
|
||
|
cdef class _localimpl_dict_entry:
|
||
|
cdef object wrgreenlet
|
||
|
cdef dict localdict
|
||
|
|
||
|
@cython.locals(localdict=dict, key=str,
|
||
|
greenlet_deleted=_greenlet_deleted,
|
||
|
local_deleted=_local_deleted)
|
||
|
cdef dict _localimpl_create_dict(_localimpl self,
|
||
|
greenlet greenlet,
|
||
|
object idt)
|
||
|
|
||
|
cdef set _local_attrs
|
||
|
|
||
|
cdef class local:
|
||
|
cdef _localimpl _local__impl
|
||
|
cdef set _local_type_get_descriptors
|
||
|
cdef set _local_type_set_or_del_descriptors
|
||
|
cdef set _local_type_del_descriptors
|
||
|
cdef set _local_type_set_descriptors
|
||
|
cdef set _local_type_vars
|
||
|
cdef type _local_type
|
||
|
|
||
|
@cython.locals(entry=_localimpl_dict_entry,
|
||
|
dct=dict, duplicate=dict,
|
||
|
instance=local)
|
||
|
cpdef local __copy__(local self)
|
||
|
|
||
|
|
||
|
@cython.locals(impl=_localimpl,dct=dict,
|
||
|
dct=dict, entry=_localimpl_dict_entry)
|
||
|
cdef inline dict _local_get_dict(local self)
|
||
|
|
||
|
@cython.locals(entry=_localimpl_dict_entry)
|
||
|
cdef _local__copy_dict_from(local self, _localimpl impl, dict duplicate)
|
||
|
|
||
|
@cython.locals(mro=list, gets=set, dels=set, set_or_del=set,
|
||
|
type_self=type, type_attr=type,
|
||
|
sets=set)
|
||
|
cdef tuple _local_find_descriptors(local self)
|
||
|
|
||
|
@cython.locals(result=list, local_impl=_localimpl,
|
||
|
entry=_localimpl_dict_entry, k=str,
|
||
|
greenlet_dict=dict)
|
||
|
cpdef all_local_dicts_for_greenlet(greenlet greenlet)
|