Andi,
Does this mean Python 2.3.5 is officially supported now? If
so I can build Python 2.3 packages for Debian as well.
-matthew
Andi Vajda [EMAIL PROTECTED] said:
>
> On Fri, 3 Mar 2006, Matthew O'Connor wrote:
>
> >Python 2.3.5 has that patch applied.
> >
> >-matthew
>
> That is most excellent news. This means that Python 2.3.5 can be supported
> with PyLucene. One still needs to build PyLucene for that version since the
> binaries I produce are all built with Python 2.4 header files.
>
> Andi..
>
> >
> >Andi Vajda [EMAIL PROTECTED] said:
> >
> >>
> >>On Fri, 3 Mar 2006, Bill Janssen wrote:
> >>
> >>>>There was a threading issue in Python 2.3 that would cause deadlocks. It
> >>>>got
> >>>>fixed sometime after 2.3.4 and is fixed in 2.4. I don't know if it is
> >>>>fixed in
> >>>>2.3.5, it could be. If you're not using threads, you should be fine.
> >>>
> >>>Unfortunately, I am using threads. This is a big deal for Mac users,
> >>>as I doubt we'll be free of 2.3.5 till the end of 2007, realistically.
> >>>
> >>>Here's a list of the 4 threading issues fixed in 2.3.5. Was it one of
> >>>these?
> >>
> >>I don't know if it was one of these but the patch below seemed to have
> >>fixed it. What do the Python 2.3.5 sources say ?
> >>
> >>--- threadmodule.c.orig 2004-08-17 12:39:30.664412784 +0100
> >>+++ threadmodule.c 2004-08-17 12:40:16.105504688 +0100
> >>@@ -425,11 +425,10 @@
> >> t_bootstrap(void *boot_raw)
> >> {
> >> struct bootstate *boot = (struct bootstate *) boot_raw;
> >>- PyThreadState *tstate;
> >>+ PyGILState_STATE gstate;
> >> PyObject *res;
> >>
> >>- tstate = PyThreadState_New(boot->interp);
> >>- PyEval_AcquireThread(tstate);
> >>+ gstate = PyGILState_Ensure();
> >> res = PyEval_CallObjectWithKeywords(
> >> boot->func, boot->args, boot->keyw);
> >> if (res == NULL) {
> >>@@ -454,8 +453,7 @@
> >> Py_DECREF(boot->args);
> >> Py_XDECREF(boot->keyw);
> >> PyMem_DEL(boot_raw);
> >>- PyThreadState_Clear(tstate);
> >>- PyThreadState_DeleteCurrent();
> >>+ PyGILState_Release(gstate);
> >> PyThread_exit_thread();
> >> }
> >>
> >>Andi..
> >>
> >>>
> >>>Bill
> >>>-------------------
> >>>
> >>>Bug #1055820: Cyclic garbage collection was not protecting against that
> >>>calling a live weakref to a piece of cyclic trash could resurrect an
> >>>insane mutation of the trash if any Python code ran during gc (via
> >>>running a dead object's __del__ method, running another callback on a
> >>>weakref to a dead object, or via any Python code run in any other
> >>>thread that managed to obtain the GIL while a __del__ or callback was
> >>>running in the thread doing gc). The most likely symptom was
> >>>"impossible" AttributeEror exceptions, appearing seemingly at random,
> >>>on weakly referenced objects. The cure was to clear all weakrefs to
> >>>unreachable objects before allowing any callbacks to run.
> >>>
> >>>Bug #875692: Improve signal handling, especially when using threads,
> >>>by forcing an early re-execution of PyEval_EvalFrame() "periodic" code
> >>>when things_to_do is not cleared by Py_MakePendingCalls().
> >>>
> >>>Bug #993394: A KeyError was being raised by Thread.__delete() for
> >>>dummy_threading when called by atexit if an instance of Thread was
> >>>created in an interpreter running in -O. The exception was of no
> >>>importance and thus is now thrown away if raised.
> >>>
> >>>Bug #754449: threading.Thread will no longer mask exceptions raised
> >>>during interpreter shutdown with another exception caused by
> >>>attempting to output the initial exception. This fix also includes a
> >>>backport of rev. 1.41 from HEAD.
> >>>
> >>>
> >>_______________________________________________
> >>pylucene-dev mailing list
> >>[email protected]
> >>http://lists.osafoundation.org/mailman/listinfo/pylucene-dev
> >>
> >
>
_______________________________________________
pylucene-dev mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/pylucene-dev