GitHub user mike-jumper opened a pull request:
https://github.com/apache/guacamole-server/pull/163
GUACAMOLE-533: Wait at most 5 seconds for connection processes to terminate
following disconnect.
This change refactors guacd such that `guac_client_free()` is invoked in a
dedicated thread, while guacd waits for the free/disconnect operation to signal
completion. If free/disconnect does not complete in a timely manner, guacd
takes control, forcibly kills the connection process, and logs a warning.
In addition, even if the `guac_client` is freed successfully and within a
reasonable time, guacd now verifies that all child processes of that connection
have also terminated. If any child processes remain, they are forcibly
terminated by guacd, and a warning is logged.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/mike-jumper/guacamole-server failsafe-kill
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/guacamole-server/pull/163.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #163
----
commit d6a5695f8a0c3499a8698c493f3c985a2ec4732a
Author: Michael Jumper <mjumper@...>
Date: 2018-03-14T00:00:10Z
GUACAMOLE-533: Wait at most 5 seconds for connection processes to terminate
following disconnect.
----
---