[Python-checkins] r58338 - python/trunk/Modules/_collectionsmodule.c
raymond.hettinger
python-checkins at python.org
Fri Oct 5 21:07:31 CEST 2007
Author: raymond.hettinger
Date: Fri Oct 5 21:07:31 2007
New Revision: 58338
Modified:
python/trunk/Modules/_collectionsmodule.c
Log:
Restore BEGIN/END THREADS macros which were squashed in the previous checkin
Modified: python/trunk/Modules/_collectionsmodule.c
==============================================================================
--- python/trunk/Modules/_collectionsmodule.c (original)
+++ python/trunk/Modules/_collectionsmodule.c Fri Oct 5 21:07:31 2007
@@ -631,7 +631,7 @@
static PyObject *
deque_repr(PyObject *deque)
{
- PyObject *aslist, *result, *fmt; /*, *limit; */
+ PyObject *aslist, *result, *fmt;
int i;
i = Py_ReprEnter(deque);
@@ -656,7 +656,7 @@
Py_ReprLeave(deque);
return NULL;
}
- result = PyString_Format(fmt, aslist);
+ result = PyString_Format(fmt, aslist);
Py_DECREF(fmt);
Py_DECREF(aslist);
Py_ReprLeave(deque);
@@ -675,7 +675,9 @@
if (i != 0) {
if (i < 0)
return i;
+ Py_BEGIN_ALLOW_THREADS
fputs("[...]", fp);
+ Py_END_ALLOW_THREADS
return 0;
}
@@ -683,9 +685,13 @@
if (it == NULL)
return -1;
+ Py_BEGIN_ALLOW_THREADS
fputs("deque([", fp);
+ Py_END_ALLOW_THREADS
while ((item = PyIter_Next(it)) != NULL) {
+ Py_BEGIN_ALLOW_THREADS
fputs(emit, fp);
+ Py_END_ALLOW_THREADS
emit = separator;
if (PyObject_Print(item, fp, 0) != 0) {
Py_DECREF(item);
@@ -700,10 +706,12 @@
if (PyErr_Occurred())
return -1;
+ Py_BEGIN_ALLOW_THREADS
if (((dequeobject *)deque)->maxlen == -1)
fputs("])", fp);
else
- fprintf(fp, "], maxlen=%d)", ((dequeobject *)deque)->maxlen);
+ fprintf(fp, "], maxlen=%d)", ((dequeobject *)deque)->maxlen);
+ Py_END_ALLOW_THREADS
return 0;
}
@@ -1223,15 +1231,23 @@
defdict_print(defdictobject *dd, FILE *fp, int flags)
{
int sts;
+ Py_BEGIN_ALLOW_THREADS
fprintf(fp, "defaultdict(");
- if (dd->default_factory == NULL)
+ Py_END_ALLOW_THREADS
+ if (dd->default_factory == NULL) {
+ Py_BEGIN_ALLOW_THREADS
fprintf(fp, "None");
- else {
+ Py_END_ALLOW_THREADS
+ } else {
PyObject_Print(dd->default_factory, fp, 0);
}
+ Py_BEGIN_ALLOW_THREADS
fprintf(fp, ", ");
+ Py_END_ALLOW_THREADS
sts = PyDict_Type.tp_print((PyObject *)dd, fp, 0);
+ Py_BEGIN_ALLOW_THREADS
fprintf(fp, ")");
+ Py_END_ALLOW_THREADS
return sts;
}
More information about the Python-checkins
mailing list