Message118493
Some of your submission appears to have gotten lost (I saw it via email).
Below is the patch you proposed. I haven't experienced this crash on my machines, but the solution seems fine to me.
# I sometimes experienced crash of test_changing_value(test_winreg)
# on release27-maint. It happens when 2 threads calls PyEnumValue and
# PySetValue simultaneously. And I could stop it by following patch.
# I'll attach the stack trace of crash.
Index: PC/_winreg.c
===================================================================
--- PC/_winreg.c (revision 85344)
+++ PC/_winreg.c (working copy)
@@ -1219,7 +1219,6 @@
}
while (1) {
- Py_BEGIN_ALLOW_THREADS
rc = RegEnumValue(hKey,
index,
retValueBuf,
@@ -1228,7 +1227,6 @@
&typ,
(BYTE *)retDataBuf,
&retDataSize);
- Py_END_ALLOW_THREADS
if (rc != ERROR_MORE_DATA)
break;
@@ -1577,9 +1575,7 @@
if (subKey == NULL)
return NULL;
}
- Py_BEGIN_ALLOW_THREADS
rc = RegSetValue(hKey, subKey, REG_SZ, str, len+1);
- Py_END_ALLOW_THREADS
if (rc != ERROR_SUCCESS)
return PyErr_SetFromWindowsErrWithFunction(rc, "RegSetValue");
Py_INCREF(Py_None); |
|
Date |
User |
Action |
Args |
2010-10-13 00:35:08 | brian.curtin | set | recipients:
+ brian.curtin, ocean-city, stutzbach |
2010-10-13 00:35:07 | brian.curtin | set | messageid: <1286930107.83.0.652058419234.issue10071@psf.upfronthosting.co.za> |
2010-10-13 00:35:05 | brian.curtin | link | issue10071 messages |
2010-10-13 00:35:03 | brian.curtin | create | |
|