From 69fee2f71fe977402639769a01aa854a8b69aaf6 Mon Sep 17 00:00:00 2001
From: Matthew Fredrickson <creslin@digium.com>
Date: Fri, 18 Jul 2008 18:50:00 +0000
Subject: [PATCH] Make sure we break the poll so that messages queued will be
 sent on the SS7 when using CLI commands for blocking and blocking of CICs and
 linksets.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@132108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_dahdi.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index c4bac93bbd..93505cbb41 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -13400,6 +13400,9 @@ static char *handle_ss7_block_cic(struct ast_cli_entry *e, int cmd, struct ast_c
 	else
 		ast_cli(a->fd, "CIC %d already locally blocked\n", cic);
 
+	/* Break poll on the linkset so it sends our messages */
+	pthread_kill(linksets[linkset-1].master, SIGURG);
+
 	return CLI_SUCCESS;
 }
 
@@ -13439,6 +13442,9 @@ static char *handle_ss7_block_linkset(struct ast_cli_entry *e, int cmd, struct a
 		ast_mutex_unlock(&linksets[linkset-1].lock);
 	}
 
+	/* Break poll on the linkset so it sends our messages */
+	pthread_kill(linksets[linkset-1].master, SIGURG);
+
 	return CLI_SUCCESS;
 }
 
@@ -13492,6 +13498,10 @@ static char *handle_ss7_unblock_cic(struct ast_cli_entry *e, int cmd, struct ast
 
 	if (blocked > 0)
 		ast_cli(a->fd, "Sent unblocking request for linkset %d on CIC %d\n", linkset, cic);
+
+	/* Break poll on the linkset so it sends our messages */
+	pthread_kill(linksets[linkset-1].master, SIGURG);
+
 	return CLI_SUCCESS;
 }
 
@@ -13532,6 +13542,9 @@ static char *handle_ss7_unblock_linkset(struct ast_cli_entry *e, int cmd, struct
 		ast_mutex_unlock(&linksets[linkset-1].lock);
 	}
 
+	/* Break poll on the linkset so it sends our messages */
+	pthread_kill(linksets[linkset-1].master, SIGURG);
+
 	return CLI_SUCCESS;
 }
 
-- 
GitLab