From: Guido van Rossum Date: Wed, 17 Jul 2002 16:57:13 +0000 (+0000) Subject: SF patch 552161 - Py_AddPendingCall doesn't unlock on fail (Daniel X-Git-Tag: v2.3c1~4965 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=04e7032c6e7626741a8f211fe2494577420fe2df;p=python SF patch 552161 - Py_AddPendingCall doesn't unlock on fail (Daniel Dunbar) Can't test this, but looks correct to me. --- diff --git a/Python/ceval.c b/Python/ceval.c index ab6d88b41a..50c832aa25 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -379,8 +379,10 @@ Py_AddPendingCall(int (*func)(void *), void *arg) busy = 1; i = pendinglast; j = (i + 1) % NPENDINGCALLS; - if (j == pendingfirst) + if (j == pendingfirst) { + busy = 0; return -1; /* Queue full */ + } pendingcalls[i].func = func; pendingcalls[i].arg = arg; pendinglast = j;