From ce311227ac7f8a9b9bc00d5cb0c291357447f71e Mon Sep 17 00:00:00 2001
From: Joshua Colp <jcolp@digium.com>
Date: Mon, 12 Jun 2006 02:54:32 +0000
Subject: [PATCH] Change a bit of logic in peer expiry back to the way it used
 to be

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_iax2.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 87c665fb7d..27560a29b5 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -5518,9 +5518,6 @@ static void __expire_registry(void *data)
 	AST_LIST_LOCK(&peers);
 	AST_LIST_TRAVERSE_SAFE_BEGIN(&peers, p, entry) {
 		if (!strcasecmp(p->name, name)) {
-			/* If we are set to auto clear then remove ourselves */
-			if (ast_test_flag(p, IAX_RTAUTOCLEAR))
-				AST_LIST_REMOVE_CURRENT(&peers, entry);
 			p->expire = -1;
 			break;
 		}
@@ -5546,8 +5543,8 @@ static void __expire_registry(void *data)
 		iax2_regfunk(p->name, 0);
 
 	if (ast_test_flag(p, IAX_RTAUTOCLEAR)) {
-		/* We are already gone from the list, so we can just destroy ourselves */
-		destroy_peer(p);
+		ast_set_flag(p, IAX_DELME);
+		prune_peers();
 	}
 }
 
-- 
GitLab