Uploaded image for project: 'Guacamole'
  1. Guacamole
  2. GUACAMOLE-200

read() in RDPDR printer can block user input

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 0.9.10-incubating, 0.9.11-incubating
    • 0.9.12-incubating
    • RDP
    • None

    Description

      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.

      Attachments

        Activity

          People

            mjumper Mike Jumper
            mjumper Mike Jumper
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: