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