• Tom Evans's avatar
    OF-857: Mark connection closed before notifying · 4c4949eb
    Tom Evans authored
    The connection close listener initiates a presence broadcast to
    advertise its "unavailable" status. The current connection must be
    marked closed before this occurs, so the presence stanza will not be
    delivered to the newly closed connection.
    
    Note that the synchronized block alone does not accomplish this because
    the presence broadcast is delivered via that same thread that is
    currently closing the connection, thus it already possesses the sync
    object lock.
    
    Also, note that the SessionManager should exclude the originating JID
    when sending presence broadcasts to the user's other available
    session(s).
    4c4949eb
NIOConnection.java 17 KB