From d8dcd57edb88ce57063e5c2b85fe0ee1abb1ce8b Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Wed, 16 May 2018 01:08:09 +0300 Subject: [PATCH] bpo-33454: Fix arguments parsing in _xxsubinterpreters.channel_close(). (GH-6747) --- Modules/_xxsubinterpretersmodule.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/Modules/_xxsubinterpretersmodule.c b/Modules/_xxsubinterpretersmodule.c index 634823a7a27..f5e2ea3c79d 100644 --- a/Modules/_xxsubinterpretersmodule.c +++ b/Modules/_xxsubinterpretersmodule.c @@ -2470,12 +2470,8 @@ PyDoc_STRVAR(channel_recv_doc, Return a new object from the data at the from of the channel's queue."); static PyObject * -channel_close(PyObject *self, PyObject *args, PyObject *kwds) +channel_close(PyObject *self, PyObject *id) { - PyObject *id; - if (!PyArg_UnpackTuple(args, "channel_recv", 1, 1, &id)) { - return NULL; - } int64_t cid = _coerce_id(id); if (cid < 0) { return NULL; @@ -2570,8 +2566,8 @@ static PyMethodDef module_functions[] = { METH_VARARGS, channel_send_doc}, {"channel_recv", (PyCFunction)channel_recv, METH_VARARGS, channel_recv_doc}, - {"channel_close", (PyCFunction)channel_close, - METH_VARARGS, channel_close_doc}, + {"channel_close", channel_close, + METH_O, channel_close_doc}, {"channel_drop_interpreter", (PyCFunction)channel_drop_interpreter, METH_VARARGS | METH_KEYWORDS, channel_drop_interpreter_doc}, {"_channel_id", (PyCFunction)channel__channel_id,