Skip to content
  • Dennis Tsiang's avatar
    Remove use of pthread_cancel in the swapchain page flip thread · 81544d04
    Dennis Tsiang authored
    
    
    The WSI layer may call pthread_cancel and kill the page flip
    thread while it's still being used in Vulkan-API calls. This can cause the
    layer to fail to clean up internal resources of the associated device,
    leading to memory leaks. To resolve this, the layer now instead checks
    if the page flip thread needs to end on every loop iteration. The
    m_page_flip_semaphore has also been changed to a timed_semaphore to avoid
    hanging indefinitely. In addition, m_page_flip_thread is now type
    std::thread, which follows the gradual move towards C++ standard code
    and moved to a private member function of the class.
    
    Change-Id: Iefbdd0d68e1f92fdf79bcebb7eaf33429fc61fd3
    Signed-off-by: Dennis Tsiang's avatarDennis Tsiang <dennis.tsiang@arm.com>
    81544d04