Skip to content
  • Kevin Wolf's avatar
    2a239e6e
    io: Remove redundant read/write_coroutine assignments · 2a239e6e
    Kevin Wolf authored
    
    
    qio_channel_yield() now updates ioc->read_write/coroutine and calls
    qio_channel_set_aio_fd_handlers(), so the code in the handlers has
    become redundant and can be removed.
    
    This does not make a difference in intermediate states because
    aio_co_wake() really enters the coroutine immediately here: These
    handlers are never run in coroutine context, and we're in the right
    AioContext because qio_channel_attach_aio_context() asserts that the
    handlers are inactive.
    
    To make these conditions more obvious, assert the right AioContext.
    
    Suggested-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    2a239e6e
    io: Remove redundant read/write_coroutine assignments
    Kevin Wolf authored
    
    
    qio_channel_yield() now updates ioc->read_write/coroutine and calls
    qio_channel_set_aio_fd_handlers(), so the code in the handlers has
    become redundant and can be removed.
    
    This does not make a difference in intermediate states because
    aio_co_wake() really enters the coroutine immediately here: These
    handlers are never run in coroutine context, and we're in the right
    AioContext because qio_channel_attach_aio_context() asserts that the
    handlers are inactive.
    
    To make these conditions more obvious, assert the right AioContext.
    
    Suggested-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
Loading