Replying to Alan DeKok:
The main problem I have with your patch is that I can't tell what's changed. You've mixed up re-formatting, re-arrangement, and new code all in the same patch.
Well... 1. Changed the way rlm_python_t is declared (more common to C applications) 2. Added WITH_THREAD_POOL and corresponding ifdefs, which wrap python_start_thread, destroy thread and some python thread support function calls - to allow threaded operation. (I think some of this code can be optimised away by using 2.3+ PyGILState_Ensure function but this can be marked as TODO after initial work will be accepted) 3. Added a lot of Py_XDECREFs and a smaller number of INCREFs where needed 4. Added error handling where it's marked as TODO in original module. -- Paul P 'Stingray' Komkoff Jr // http://stingr.net/key <- my pgp key This message represents the official view of the voices in my head