Skip to content

Commit db10742

Browse files
[2.7] bpo-33677: Fix the signature of tp_clear handler for deque. (GH-7196). (GH-7277)
(cherry picked from commit a5c4228)
1 parent 82c456f commit db10742

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

Modules/_collectionsmodule.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@ deque_remove(dequeobject *deque, PyObject *value)
639639
PyDoc_STRVAR(remove_doc,
640640
"D.remove(value) -- remove first occurrence of value.");
641641

642-
static void
642+
static int
643643
deque_clear(dequeobject *deque)
644644
{
645645
block *b;
@@ -650,7 +650,7 @@ deque_clear(dequeobject *deque)
650650
PyObject *item;
651651

652652
if (deque->len == 0)
653-
return;
653+
return 0;
654654

655655
/* During the process of clearing a deque, decrefs can cause the
656656
deque to mutate. To avoid fatal confusion, we have to make the
@@ -701,14 +701,15 @@ deque_clear(dequeobject *deque)
701701
}
702702
assert(leftblock->rightlink == NULL);
703703
freeblock(leftblock);
704-
return;
704+
return 0;
705705

706706
alternate_method:
707707
while (deque->len) {
708708
item = deque_pop(deque, NULL);
709709
assert (item != NULL);
710710
Py_DECREF(item);
711711
}
712+
return 0;
712713
}
713714

714715
static PyObject *

0 commit comments

Comments
 (0)