On 8 December 2017 at 19:40, Eric Blake <ebl...@redhat.com> wrote: > On 12/08/2017 04:55 AM, Paolo Bonzini wrote: >> Likewise, >> >> QEMU_WITH_LOCK(QemuMutex, guard_name, &some_mutex) { >> ... >> } >> >> is the same as >> >> qemu_mutex_lock(&some_mutex); >> ... >> qemu_mutex_unlock(&some_mutex); >> >> except that any returns within the region will unlock the mutex. > > Not just returns, but ANY manner that you leave the scope, including a > goto or just falling out of the end of the scope.
How about longjmp()ing out of it? thanks -- PMM