-
Hanna Reitz authored
When nbd_close() is called from a coroutine, the connection_co never gets to run, and thus nbd_teardown_connection() hangs. This is because aio_co_enter() only puts the connection_co into the main coroutine's wake-up queue, so this main coroutine needs to yield and wait for connection_co to terminate. Suggested-by:
Kevin Wolf <kwolf@redhat.com>
Signed-off-by:
Max Reitz <mreitz@redhat.com>
Message-Id: <20200122164532.178040-2-mreitz@redhat.com>
Reviewed-by:
Eric Blake <eblake@redhat.com>
Reviewed-by:
Maxim Levitsky <mlevitsk@redhat.com>
Signed-off-by:
Max Reitz <mreitz@redhat.com>Hanna Reitz authoredWhen nbd_close() is called from a coroutine, the connection_co never gets to run, and thus nbd_teardown_connection() hangs. This is because aio_co_enter() only puts the connection_co into the main coroutine's wake-up queue, so this main coroutine needs to yield and wait for connection_co to terminate. Suggested-by:
Kevin Wolf <kwolf@redhat.com>
Signed-off-by:
Max Reitz <mreitz@redhat.com>
Message-Id: <20200122164532.178040-2-mreitz@redhat.com>
Reviewed-by:
Eric Blake <eblake@redhat.com>
Reviewed-by:
Maxim Levitsky <mlevitsk@redhat.com>
Signed-off-by:
Max Reitz <mreitz@redhat.com>
Loading