summaryrefslogtreecommitdiff
path: root/channels/chan_dahdi.c
diff options
context:
space:
mode:
Diffstat (limited to 'channels/chan_dahdi.c')
-rw-r--r--channels/chan_dahdi.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index c4bac93bb..93505cbb4 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;
}