Follow up: also clean up using addr/port
authorMike Rylander <mrylander@gmail.com>
Thu, 14 Aug 2014 17:58:23 +0000 (13:58 -0400)
committerBill Erickson <berick@esilibrary.com>
Thu, 14 Aug 2014 18:13:42 +0000 (14:13 -0400)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
SIPServer.pm

index 07b54bc..f0837d7 100755 (executable)
@@ -459,8 +459,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");
 }