[ https://issues.apache.org/jira/browse/GUACAMOLE-2063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Jumper reopened GUACAMOLE-2063: ------------------------------------ Part of the fix already committed needs to acquire the proper lock before checking {{render_thread->state.value}}. As reported by Coverity, the following block of code: {code:c|title=display-render-thread.c (starting at line 143)} /* Use explicit frame boundaries whenever available */ if (render_thread->state.value & GUAC_DISPLAY_RENDER_THREAD_STATE_FRAME_READY) { rendered_frames = render_thread->frames; render_thread->frames = 0; guac_flag_clear(&render_thread->state, GUAC_DISPLAY_RENDER_THREAD_STATE_FRAME_READY | GUAC_DISPLAY_RENDER_THREAD_STATE_FRAME_MODIFIED); guac_flag_unlock(&render_thread->state); break; } {code} presumes that the lock for the {{render_thread->state}} flag has been acquired, yet this isn't the case any longer. The block was moved outside the portion of code that holds the lock. > RDP message_lock can block processing of "sync" > ----------------------------------------------- > > Key: GUACAMOLE-2063 > URL: https://issues.apache.org/jira/browse/GUACAMOLE-2063 > Project: Guacamole > Issue Type: Bug > Components: RDP > Affects Versions: 1.6.0 > Reporter: Mike Jumper > Assignee: Mike Jumper > Priority: Blocker > Fix For: 1.6.0 > > > Similar to GUACAMOLE-2061, the {{message_lock}} used within the RDP support > to control concurrent attempts to send RDP messages appears to contribute to > delays in processing of "sync", indirectly tying progress of output > processing to processing of input. -- This message was sent by Atlassian Jira (v8.20.10#820010)