From: Mike Rylander <mrylander@gmail.com>
Date: Thu, 14 Aug 2014 17:58:23 +0000 (-0400)
Subject: Follow up: also clean up using addr/port
X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=refs%2Fheads%2Fuser%2Fmiker%2Fmulti-relais-timeout-conn_id;p=working%2FSIPServer.git

Follow up: also clean up using addr/port

Signed-off-by: Mike Rylander <mrylander@gmail.com>
---

diff --git a/SIPServer.pm b/SIPServer.pm
index db86454..59d079d 100755
--- a/SIPServer.pm
+++ b/SIPServer.pm
@@ -446,8 +446,15 @@ sub mux_input {
 # client disconnected, remove the active connection
 sub mux_close {
     my ($self, $mux, $fh) = @_;
-    delete $active_connections{''.$fh};
-    syslog("LOG_DEBUG", "multi: mux_close cleaning up child: $fh; ". 
+    my ($peeraddr, $peerport) = (
+        $self->{net_server}->{server}->{peeraddr},
+        $self->{net_server}->{server}->{peerport}
+    );
+
+    my $conn_id = "$peeraddr:$peerport";
+
+    delete $active_connections{$conn_id};
+    syslog("LOG_DEBUG", "multi: mux_close cleaning up child: $conn_id; ". 
         scalar(keys %active_connections)." remain");
 }