Is the particular focus of your code on getting the GIL released during
longer method invocations?  I don't have any sway with Boost or anything,
so I'm just asking out of my own personal curiosities.  When I first saw
the message, without seeing the code, I was wondering if you might have
coincidentally created a scope-lock kind of thing for acquiring the GIL in
the first place.

On Sun, Dec 16, 2012 at 2:37 PM, John Zwinck <jzwi...@gmail.com> wrote:

> I posted this to the Boost list, where it was suggested this list as a
> next step.  If you saw it there, the rest of this message is the same.
>
> There are many questions and example classes online for dealing with
> Python's Global Interpreter Lock (GIL) using RAII.  I think Boost.Python
> should provide this functionality, rather than having users who build
> hybrid C++/Python applications copy-pasting code from various places.  I
> was one of those users recently, and the code I developed to deal with it
> is now public:
>
> https://github.com/jzwinck/**pccl/blob/master/**InterpreterLockGuard.hpp<https://github.com/jzwinck/pccl/blob/master/InterpreterLockGuard.hpp>
> https://github.com/jzwinck/**pccl/blob/master/**InterpreterLockGuard.cpp<https://github.com/jzwinck/pccl/blob/master/InterpreterLockGuard.cpp>
> https://github.com/jzwinck/**pccl/blob/master/test/**
> InterpreterLockGuard.test.cpp<https://github.com/jzwinck/pccl/blob/master/test/InterpreterLockGuard.test.cpp>
>
> Comments in the header explain how to use it in the context of
> Boost.Python, and contain a link to a wiki from which some of the code was
> originally copied.
>
> Why add this to Boost?  It's clearly code that a bunch of people need,
> often people who are already using Boost.Python.  It has a permissive
> license, and I can re-license it if need be.  And it depends on Boost
> (mostly for thread-specific storage--I hope this dependency won't be seen
> as a liability here, though it could be removed if needed).
>
> This particular implementation was used successfully in a few programs in
> a commercial setting on Fedora and RHEL systems.  It has some extra checks
> that we found helpful compared to some of the versions you'll find posted
> online.  The code also builds and passes its tests with GCC on Mac OS X.
>
> I welcome any feedback regarding the suitability for inclusion in Boost of
> this particular code and/or the concepts it implements.
>
> John Zwinck
>
_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig

Reply via email to