Skip to content

Commit d70c659

Browse files
committed
* PythonCmd_Error doesn't use the arg and thus can do without Tcl lock
1 parent 24f813a commit d70c659

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

Modules/_tkinter.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2462,7 +2462,7 @@ typedef struct {
24622462
} PythonCmd_ClientData;
24632463

24642464
static int
2465-
PythonCmd_Error(Tcl_Interp *interp)
2465+
PythonCmd_Error(void)
24662466
{
24672467
errorInCmd = 1;
24682468
PyErr_Fetch(&excInCmd, &valInCmd, &trbInCmd);
@@ -2490,20 +2490,20 @@ PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
24902490

24912491
/* Create argument list (argv1, ..., argvN) */
24922492
if (!(arg = PyTuple_New(argc - 1)))
2493-
return PythonCmd_Error(interp);
2493+
return PythonCmd_Error();
24942494

24952495
for (i = 0; i < (argc - 1); i++) {
24962496
PyObject *s = fromTclString(argv[i + 1]);
24972497
if (!s || PyTuple_SetItem(arg, i, s)) {
24982498
Py_DECREF(arg);
2499-
return PythonCmd_Error(interp);
2499+
return PythonCmd_Error();
25002500
}
25012501
}
25022502
res = PyEval_CallObject(func, arg);
25032503
Py_DECREF(arg);
25042504

25052505
if (res == NULL)
2506-
return PythonCmd_Error(interp);
2506+
return PythonCmd_Error();
25072507

25082508
ENTER_TCL
25092509
ENTER_OVERLAP
@@ -2515,7 +2515,7 @@ PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
25152515
LEAVE_OVERLAP_TCL
25162516
if (obj_res == NULL) {
25172517
Py_DECREF(res);
2518-
return PythonCmd_Error(interp);
2518+
return PythonCmd_Error();
25192519
}
25202520

25212521
Py_DECREF(res);

0 commit comments

Comments
 (0)