aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-06 22:01:10 +0000
committermattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-06 22:01:10 +0000
commitcec6b85091526b8d1a2d5a86f5e71e1518f9047b (patch)
tree5055c30cadcd2f50db976b1986e075bf684180e3
parent561fc7b6a54e92d55bb588af2c3f17adcbf64c1b (diff)
Add some more locking as well as API update for libss7 for new transport types
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89067 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_zap.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index bf416c7a8..80d7b93f1 100644
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -8683,10 +8683,15 @@ static void *ss7_linkset(void *data)
}
}
- if (pollers[i].revents & POLLIN)
+ if (pollers[i].revents & POLLIN) {
+ ast_mutex_lock(&linkset->lock);
res = ss7_read(ss7, pollers[i].fd);
+ ast_mutex_unlock(&linkset->lock);
+ }
if (pollers[i].revents & POLLOUT) {
+ ast_mutex_lock(&linkset->lock);
res = ss7_write(ss7, pollers[i].fd);
+ ast_mutex_unlock(&linkset->lock);
if (res < 0) {
ast_log(LOG_ERROR, "Error in write %s", strerror(errno));
}
@@ -11771,7 +11776,7 @@ static int linkset_addsigchan(int sigchan)
return -1;
}
- ss7_add_link(link->ss7, link->fds[curfd]);
+ ss7_add_link(link->ss7, SS7_TRANSPORT_ZAP, link->fds[curfd]);
link->numsigchans++;
memset(&si, 0, sizeof(si));