Mercurial > cpython-lru_cache-weakref
comparison Python/pythonrun.c @ 9054:dabb2b6a3a81 legacy-trunk
Don't release the interpreter lock around PyParser_ParseFile().
It is needed so that tokenizer.c can use PySys_WriteStderr().
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 27 Aug 1998 19:14:49 +0000 |
| parents | 070de4d39ddd |
| children | 1e43df7d8be3 |
comparison
equal
deleted
inserted
replaced
| 9053:16f8397d8f04 | 9054:dabb2b6a3a81 |
|---|---|
| 498 if (w == NULL) | 498 if (w == NULL) |
| 499 PyErr_Clear(); | 499 PyErr_Clear(); |
| 500 else if (PyString_Check(w)) | 500 else if (PyString_Check(w)) |
| 501 ps2 = PyString_AsString(w); | 501 ps2 = PyString_AsString(w); |
| 502 } | 502 } |
| 503 Py_BEGIN_ALLOW_THREADS | |
| 504 n = PyParser_ParseFile(fp, filename, &_PyParser_Grammar, | 503 n = PyParser_ParseFile(fp, filename, &_PyParser_Grammar, |
| 505 Py_single_input, ps1, ps2, &err); | 504 Py_single_input, ps1, ps2, &err); |
| 506 Py_END_ALLOW_THREADS | |
| 507 Py_XDECREF(v); | 505 Py_XDECREF(v); |
| 508 Py_XDECREF(w); | 506 Py_XDECREF(w); |
| 509 if (n == NULL) { | 507 if (n == NULL) { |
| 510 if (err.error == E_EOF) { | 508 if (err.error == E_EOF) { |
| 511 if (err.text) | 509 if (err.text) |
| 940 char *filename; | 938 char *filename; |
| 941 int start; | 939 int start; |
| 942 { | 940 { |
| 943 node *n; | 941 node *n; |
| 944 perrdetail err; | 942 perrdetail err; |
| 945 Py_BEGIN_ALLOW_THREADS | |
| 946 n = PyParser_ParseFile(fp, filename, &_PyParser_Grammar, start, | 943 n = PyParser_ParseFile(fp, filename, &_PyParser_Grammar, start, |
| 947 (char *)0, (char *)0, &err); | 944 (char *)0, (char *)0, &err); |
| 948 Py_END_ALLOW_THREADS | |
| 949 if (n == NULL) | 945 if (n == NULL) |
| 950 err_input(&err); | 946 err_input(&err); |
| 951 return n; | 947 return n; |
| 952 } | 948 } |
| 953 | 949 |
