[2.7] bpo-33677: Fix the signature of tp_clear handler for deque. (GH-7196). (GH-7277)
https://github.com/python/cpython/commit/db1074244d2c12961799f6f9353ae191f59... commit: db1074244d2c12961799f6f9353ae191f59cc497 branch: 2.7 author: Serhiy Storchaka <storchaka@gmail.com> committer: GitHub <noreply@github.com> date: 2018-05-31T10:32:43+03:00 summary: [2.7] bpo-33677: Fix the signature of tp_clear handler for deque. (GH-7196). (GH-7277) (cherry picked from commit a5c42284e69fb309bdd17ee8c1c120d1be383012) files: M Modules/_collectionsmodule.c diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c index 2e4da4c211f8..9364aba549b1 100644 --- a/Modules/_collectionsmodule.c +++ b/Modules/_collectionsmodule.c @@ -639,7 +639,7 @@ deque_remove(dequeobject *deque, PyObject *value) PyDoc_STRVAR(remove_doc, "D.remove(value) -- remove first occurrence of value."); -static void +static int deque_clear(dequeobject *deque) { block *b; @@ -650,7 +650,7 @@ deque_clear(dequeobject *deque) PyObject *item; if (deque->len == 0) - return; + return 0; /* During the process of clearing a deque, decrefs can cause the deque to mutate. To avoid fatal confusion, we have to make the @@ -701,7 +701,7 @@ deque_clear(dequeobject *deque) } assert(leftblock->rightlink == NULL); freeblock(leftblock); - return; + return 0; alternate_method: while (deque->len) { @@ -709,6 +709,7 @@ deque_clear(dequeobject *deque) assert (item != NULL); Py_DECREF(item); } + return 0; } static PyObject *
participants (1)
-
Serhiy Storchaka