diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-01-18 22:10:38 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-01-18 22:10:38 (GMT) |
commit | b54797951595f69c38aebbf739e22e540e40f311 (patch) | |
tree | 1c65c7193d8a6ae05068f92bf2d85248ada981e3 | |
parent | 9a0fc97bf4a336d81160b19a52ab4f5d2e2317e0 (diff) | |
download | cpython-b54797951595f69c38aebbf739e22e540e40f311.zip cpython-b54797951595f69c38aebbf739e22e540e40f311.tar.gz cpython-b54797951595f69c38aebbf739e22e540e40f311.tar.bz2 |
Merged revisions 68568,68665 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r68568 | georg.brandl | 2009-01-13 02:11:07 -0600 (Tue, 13 Jan 2009) | 2 lines
Fix call signature and markup.
........
r68665 | amaury.forgeotdarc | 2009-01-17 11:11:50 -0600 (Sat, 17 Jan 2009) | 3 lines
#4930: Slightly cleaner (and faster) code in type creation:
compare slots by address, not by name.
........
-rw-r--r-- | Doc/c-api/init.rst | 6 | ||||
-rw-r--r-- | Objects/typeobject.c | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst index 95466cf..e2b2267 100644 --- a/Doc/c-api/init.rst +++ b/Doc/c-api/init.rst @@ -782,13 +782,13 @@ from a worker thread and the actual call than made at the earliest convenience by the main thread where it has possession of the global interpreter lock and can perform any Python API calls. -.. cfunction:: void Py_AddPendingCall( int (*func)(void *), void *arg) ) +.. cfunction:: void Py_AddPendingCall( int (*func)(void *, void *arg) ) .. index:: single: Py_AddPendingCall() Post a notification to the Python main thread. If successful, - \*:attr`func` will be called with the argument :attr:`arg` at the earliest - convenience. \*:attr:`func` will be called having the global interpreter + *func* will be called with the argument *arg* at the earliest + convenience. *func* will be called having the global interpreter lock held and can thus use the full Python API and can take any action such as setting object attributes to signal IO completion. It must return 0 on success, or -1 signalling an exception. diff --git a/Objects/typeobject.c b/Objects/typeobject.c index b02f108..b2ad89f 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -5650,7 +5650,7 @@ update_one_slot(PyTypeObject *type, slotdef *p) else if (Py_TYPE(descr) == &PyCFunction_Type && PyCFunction_GET_FUNCTION(descr) == (PyCFunction)tp_new_wrapper && - strcmp(p->name, "__new__") == 0) + ptr == (void**)&type->tp_new) { /* The __new__ wrapper is not a wrapper descriptor, so must be special-cased differently. @@ -5670,7 +5670,7 @@ update_one_slot(PyTypeObject *type, slotdef *p) point out a bug in this reasoning a beer. */ } else if (descr == Py_None && - strcmp(p->name, "__hash__") == 0) { + ptr == (void**)&type->tp_hash) { /* We specifically allow __hash__ to be set to None to prevent inheritance of the default implementation from object.__hash__ */ |