[
https://issues.apache.org/jira/browse/GUACAMOLE-200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Jumper resolved GUACAMOLE-200.
--------------------------------------
Resolution: Fixed
> read() in RDPDR printer can block user input
> --------------------------------------------
>
> Key: GUACAMOLE-200
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-200
> Project: Guacamole
> Issue Type: Bug
> Components: RDP
> Affects Versions: 0.9.10-incubating, 0.9.11-incubating
> Reporter: Michael Jumper
> Assignee: Michael Jumper
> Priority: Critical
> Fix For: 0.9.12-incubating
>
>
> Recent changes moved the RDP printer within Guacamole from asynchronous
> transfer (independent of received "ack" messages) to synchronous transfer.
> This is fine in itself, but the {{read()}} call pulling more data from
> GhostScript in reponse to an "ack" actually occurs within the handler for
> that "ack". If GhostScript is busy processing things and that {{read()}}
> blocks, handling of user input as a whole gets blocked.
> The actual reads need to be moved into a printer-specific thread, with
> receipt of "ack" signalling that more data should be read, allowing the ack
> handler to finish regardless of GhostScript's state.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)