Bug 49091

GemStone/S 64 Bit

3.5.3

3.5.4

GsExternalSession disconnected by GsSocket class >> closeAll

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:.

Workaround

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