[libvirt] [PATCH] give up python interpreter lock before calling cb

Daniel P. Berrange berrange at redhat.com
Mon Nov 2 16:17:10 UTC 2009


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


daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list