In version 3.5.3, to support the added method GsExternalSession>>waitOnReadready, an instance of GsExternalSession creates a GsSocket representation of its underlying socket to the gem on login.
If your application also performs GsSocket class >> closeAll, this method closes this socket, which will disconnect the GsExternalSession.
In v3.5.4 and later releases, the method GsSocket class >> closeAll does not close instances created using GsSocket class >> fromFileHandle:.
If you are not using GsExternalSession >> waitForReadReady, you can edit the method GsExternalSession>>_postLogin:, to comment out the final two lines:
sock := GsSocket fromFileHandle: fd .
self dynamicInstVarAt: #_socket put: sock
If you are using waitForReadReady, do not use GsSocket class >> closeAll.
Last updated: 1/28/21