From ba52e3cfa46ed4a6d0555500e0789f76cdedf58f Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Fri, 10 Oct 2003 23:23:41 +0000 Subject: [PATCH] If we fail to deliver the objectAvailable() notification because the client is disconnected, unsubscribe immediately. We normally unsubscribe when the client loses its connection but it's possible for a subscription request to come in and the client to lose connection before we can communicate the object available response. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2824 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- src/java/com/threerings/presents/server/PresentsClient.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/java/com/threerings/presents/server/PresentsClient.java b/src/java/com/threerings/presents/server/PresentsClient.java index 7adca02c2..164e00acb 100644 --- a/src/java/com/threerings/presents/server/PresentsClient.java +++ b/src/java/com/threerings/presents/server/PresentsClient.java @@ -1,5 +1,5 @@ // -// $Id: PresentsClient.java,v 1.59 2003/09/29 18:28:22 mdb Exp $ +// $Id: PresentsClient.java,v 1.60 2003/10/10 23:23:41 mdb Exp $ package com.threerings.presents.server; @@ -658,6 +658,9 @@ public class PresentsClient if (postMessage(new ObjectResponse(object))) { // make a note of this new subscription mapSubscrip(object); + } else { + // if we failed to send the object response, unsubscribe + object.removeSubscriber(this); } }