diff options
Diffstat (limited to 'channels/chan_dahdi.c')
-rw-r--r-- | channels/chan_dahdi.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index 8e0743e17..d00f7103c 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -13227,6 +13227,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; } @@ -13266,6 +13269,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; } @@ -13319,6 +13325,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; } @@ -13359,6 +13369,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; } |