Skip to content
Snippets Groups Projects
  • Emanuele Giuseppe Esposito's avatar
    6538692e
    main-loop.h: introduce qemu_in_main_thread() · 6538692e
    Emanuele Giuseppe Esposito authored
    
    When invoked from the main loop, this function is the same
    as qemu_mutex_iothread_locked, and returns true if the BQL is held.
    When invoked from iothreads or tests, it returns true only
    if the current AioContext is the Main Loop.
    
    This essentially just extends qemu_mutex_iothread_locked to work
    also in unit tests or other users like storage-daemon, that run
    in the Main Loop but end up using the implementation in
    stubs/iothread-lock.c.
    
    Using qemu_mutex_iothread_locked in unit tests defaults to false
    because they use the implementation in stubs/iothread-lock,
    making all assertions added in next patches fail despite the
    AioContext is still the main loop.
    
    See the comment in the function header for more information.
    
    Signed-off-by: default avatarEmanuele Giuseppe Esposito <eesposit@redhat.com>
    Message-Id: <20220303151616.325444-2-eesposit@redhat.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    6538692e
    History
    main-loop.h: introduce qemu_in_main_thread()
    Emanuele Giuseppe Esposito authored
    
    When invoked from the main loop, this function is the same
    as qemu_mutex_iothread_locked, and returns true if the BQL is held.
    When invoked from iothreads or tests, it returns true only
    if the current AioContext is the Main Loop.
    
    This essentially just extends qemu_mutex_iothread_locked to work
    also in unit tests or other users like storage-daemon, that run
    in the Main Loop but end up using the implementation in
    stubs/iothread-lock.c.
    
    Using qemu_mutex_iothread_locked in unit tests defaults to false
    because they use the implementation in stubs/iothread-lock,
    making all assertions added in next patches fail despite the
    AioContext is still the main loop.
    
    See the comment in the function header for more information.
    
    Signed-off-by: default avatarEmanuele Giuseppe Esposito <eesposit@redhat.com>
    Message-Id: <20220303151616.325444-2-eesposit@redhat.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>