From ddbf7cc7ae01e83070fa8fb20e656055fd0a17b3 Mon Sep 17 00:00:00 2001 From: erickson Date: Wed, 2 Nov 2005 20:51:49 +0000 Subject: [PATCH] explicitly removing pre-existing connections when two overlap fixed typo git-svn-id: svn://svn.open-ils.org/ILS/trunk@1947 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- OpenSRF/src/jserver/osrf_chat.c | 4 ++++ OpenSRF/src/jserver/osrf_chat.h | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/OpenSRF/src/jserver/osrf_chat.c b/OpenSRF/src/jserver/osrf_chat.c index 0a9b7e439b..368ed96462 100644 --- a/OpenSRF/src/jserver/osrf_chat.c +++ b/OpenSRF/src/jserver/osrf_chat.c @@ -691,6 +691,10 @@ void osrfChatEndElement( void* blob, const xmlChar* name ) { debug_handler("Setting remote address to %s", node->remote ); osrfChatSendRaw( node, OSRF_CHAT_LOGIN_OK ); + if(osrfHashGet( node->parent->nodeHash, node->remote ) ) { + warning_handler("New node replaces existing node for remote id %s", node->remote); + osrfHashRemove(node->parent->nodeHash, node->remote); + } osrfHashSet( node->parent->nodeHash, node, node->remote ); node->state = OSRF_CHAT_STATE_CONNECTED; } diff --git a/OpenSRF/src/jserver/osrf_chat.h b/OpenSRF/src/jserver/osrf_chat.h index 3e5446cbdd..292e1435bb 100644 --- a/OpenSRF/src/jserver/osrf_chat.h +++ b/OpenSRF/src/jserver/osrf_chat.h @@ -90,8 +90,8 @@ GNU General Public License for more details. #define OSRF_CHAT_STATE_INIQ 2 #define OSRF_CHAT_STATE_INUSERNAME 4 #define OSRF_CHAT_STATE_INRESOURCE 8 -#define OSRF_CHAT_STATE_INS2SRESULT 8 -#define OSRF_CHAT_STATE_INS2SVERIFY 8 +#define OSRF_CHAT_STATE_INS2SRESULT 16 +#define OSRF_CHAT_STATE_INS2SVERIFY 32 struct __osrfChatNodeStruct { -- 2.43.2