X7ROOT File Manager
Current Path:
/opt/alt/python311/include/python3.11/cpython
opt
/
alt
/
python311
/
include
/
python3.11
/
cpython
/
ðŸ“
..
📄
abstract.h
(8.04 KB)
📄
bytearrayobject.h
(1.27 KB)
📄
bytesobject.h
(4.46 KB)
📄
cellobject.h
(723 B)
📄
ceval.h
(1.21 KB)
📄
classobject.h
(1.62 KB)
📄
code.h
(11.21 KB)
📄
compile.h
(2.17 KB)
📄
complexobject.h
(1.22 KB)
📄
context.h
(1.91 KB)
📄
descrobject.h
(1.6 KB)
📄
dictobject.h
(3.25 KB)
📄
fileobject.h
(818 B)
📄
fileutils.h
(232 B)
📄
floatobject.h
(702 B)
📄
frameobject.h
(1.08 KB)
📄
funcobject.h
(4.32 KB)
📄
genobject.h
(3.2 KB)
📄
import.h
(1.49 KB)
📄
initconfig.h
(7.63 KB)
📄
listobject.h
(1.73 KB)
📄
longintrepr.h
(3.73 KB)
📄
longobject.h
(4.43 KB)
📄
methodobject.h
(2.5 KB)
📄
modsupport.h
(4.2 KB)
📄
object.h
(17.88 KB)
📄
objimpl.h
(2.93 KB)
📄
odictobject.h
(1.27 KB)
📄
picklebufobject.h
(846 B)
📄
pthread_stubs.h
(3.42 KB)
📄
pyctype.h
(1.35 KB)
📄
pydebug.h
(1.05 KB)
📄
pyerrors.h
(4.42 KB)
📄
pyfpe.h
(444 B)
📄
pyframe.h
(582 B)
📄
pylifecycle.h
(2.05 KB)
📄
pymem.h
(3.3 KB)
📄
pystate.h
(14.01 KB)
📄
pythonrun.h
(4.7 KB)
📄
pythread.h
(1.39 KB)
📄
pytime.h
(11.87 KB)
📄
setobject.h
(1.95 KB)
📄
sysmodule.h
(489 B)
📄
traceback.h
(444 B)
📄
tupleobject.h
(1.48 KB)
📄
unicodeobject.h
(40.93 KB)
📄
warnings.h
(560 B)
📄
weakrefobject.h
(2.05 KB)
Editing: weakrefobject.h
#ifndef Py_CPYTHON_WEAKREFOBJECT_H # error "this header file must not be included directly" #endif /* PyWeakReference is the base struct for the Python ReferenceType, ProxyType, * and CallableProxyType. */ struct _PyWeakReference { PyObject_HEAD /* The object to which this is a weak reference, or Py_None if none. * Note that this is a stealth reference: wr_object's refcount is * not incremented to reflect this pointer. */ PyObject *wr_object; /* A callable to invoke when wr_object dies, or NULL if none. */ PyObject *wr_callback; /* A cache for wr_object's hash code. As usual for hashes, this is -1 * if the hash code isn't known yet. */ Py_hash_t hash; /* If wr_object is weakly referenced, wr_object has a doubly-linked NULL- * terminated list of weak references to it. These are the list pointers. * If wr_object goes away, wr_object is set to Py_None, and these pointers * have no meaning then. */ PyWeakReference *wr_prev; PyWeakReference *wr_next; vectorcallfunc vectorcall; }; PyAPI_FUNC(Py_ssize_t) _PyWeakref_GetWeakrefCount(PyWeakReference *head); PyAPI_FUNC(void) _PyWeakref_ClearRef(PyWeakReference *self); static inline PyObject* PyWeakref_GET_OBJECT(PyObject *ref_obj) { PyWeakReference *ref; PyObject *obj; assert(PyWeakref_Check(ref_obj)); ref = _Py_CAST(PyWeakReference*, ref_obj); obj = ref->wr_object; // Explanation for the Py_REFCNT() check: when a weakref's target is part // of a long chain of deallocations which triggers the trashcan mechanism, // clearing the weakrefs can be delayed long after the target's refcount // has dropped to zero. In the meantime, code accessing the weakref will // be able to "see" the target object even though it is supposed to be // unreachable. See issue gh-60806. if (Py_REFCNT(obj) > 0) { return obj; } return Py_None; } #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 # define PyWeakref_GET_OBJECT(ref) PyWeakref_GET_OBJECT(_PyObject_CAST(ref)) #endif
Upload File
Create Folder