[libvirt] [PATCH] give up python interpreter lock before calling cb
Dan Kenigsberg
danken at redhat.com
Mon Nov 2 16:25:20 UTC 2009
On Mon, Nov 02, 2009 at 04:17:10PM +0000, Daniel P. Berrange wrote:
> On Mon, Nov 02, 2009 at 06:09:52PM +0200, Dan Kenigsberg wrote:
> > suggested by danpb on irc
> > ---
> > python/libvirt-override.c | 4 ++++
> > 1 files changed, 4 insertions(+), 0 deletions(-)
> >
> > diff --git a/python/libvirt-override.c b/python/libvirt-override.c
> > index 5d24fd2..53e36c0 100644
> > --- a/python/libvirt-override.c
> > +++ b/python/libvirt-override.c
> > @@ -2355,7 +2355,9 @@ libvirt_virEventInvokeHandleCallback(PyObject *self ATTRIBUTE_UNUSED,
> > opaque = (void *) PyvirVoidPtr_Get(py_opaque);
> >
> > if(cb)
> > + LIBVIRT_BEGIN_ALLOW_THREADS
> > cb (watch, fd, event, opaque);
> > + LIBVIRT_END_ALLOW_THREADS
>
> You'll need some curly braces around that, otherwise it is doing
>
> if(cb)
> LIBVIRT_BEGIN_ALLOW_THREADS
>
> cb (watch, fd, event, opaque);
> LIBVIRT_END_ALLOW_THREADS
grr. bad case of python poisoning.
anyway, the patch is here only for you not to forget it..
More information about the libvir-list
mailing list