>> not at a valid yield point. But whats really wrong here is the block >> layer will be making assumption on re-entry of the coroutine, so I >> cant re-enter it witout wildly changing the behaviour of the block >> layer. If you adopt this "mark it as coroutine" poilcy, you end up >> with a system where half the functions in QEMU: >> >> A: may yield your coroutine >> B: if it does yield it, your not allowed to restart it >> >> Making them completely uncallable from coroutine context. > > Please link to real code, I'm having trouble understanding the example > code and your argument. >
Hi Stefan, Please see: git://developer.petalogix.com/public/qemu.git for-stefan/fdt-generic.next Its a generic machine model that creates an arbitrary machine from a dtb. Yes, the work has many issues, some already discussed on the mailing list, but it illustrates the issue with block. Top commit I add some comments re this discussion. git diff HEAD^ will show you where to look in the code. Regards, Peter > Stefan >