summaryrefslogtreecommitdiff
path: root/channels/misdn
diff options
context:
space:
mode:
authorChristian Richter <christian.richter@beronet.com>2007-02-07 09:51:06 +0000
committerChristian Richter <christian.richter@beronet.com>2007-02-07 09:51:06 +0000
commita96e62d9d249aacb6e6cfa6e351df267c6b0c15a (patch)
tree9939be95dcc6ffd181c45efa44ef080dc43005f3 /channels/misdn
parentc1e37165c1dfcfe526b61da50e4cb4cd5980ed74 (diff)
Merged revisions 53324 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r53324 | crichter | 2007-02-07 10:22:44 +0100 (Mi, 07 Feb 2007) | 9 lines Merged revisions 52843 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r52843 | crichter | 2007-01-30 15:38:08 +0100 (Di, 30 Jan 2007) | 1 line fixed some possible segfaults. also fixed an very important bug which occurs on high load (when calls are very fast generated) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53334 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/misdn')
-rw-r--r--channels/misdn/isdn_lib.c37
1 files changed, 3 insertions, 34 deletions
diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c
index 69fa12a0c..174494f0f 100644
--- a/channels/misdn/isdn_lib.c
+++ b/channels/misdn/isdn_lib.c
@@ -2859,23 +2859,12 @@ static msg_t *fetch_msg(int midev)
{
msg_t *msg=alloc_msg(MAX_MSG_SIZE);
int r;
-/* fd_set rdfs; */
if (!msg) {
cb_log(0, 0, "fetch_msg: alloc msg failed !!");
return NULL;
}
-#if 0
- FD_ZERO(&rdfs);
- FD_SET(midev,&rdfs);
-
- mISDN_select(FD_SETSIZE, &rdfs, NULL, NULL, NULL);
- //select(FD_SETSIZE, &rdfs, NULL, NULL, NULL);
-
- if (FD_ISSET(midev, &rdfs)) {
-#endif
-
AGAIN:
r=mISDN_read(midev,msg->data,MAX_MSG_SIZE, TIMEOUT_10SEC);
msg->len=r;
@@ -2897,15 +2886,11 @@ static msg_t *fetch_msg(int midev)
cb_log(0,0,"mISDN_read returned :%d error:%s (%d)\n",r,strerror(errno),errno);
}
- return msg;
-
#if 0
- } else {
- printf ("Select timeout\n");
- }
+ if (!(frm->prim == (DL_DATA|INDICATION) )|| (frm->prim == (PH_DATA|INDICATION)))
+ cb_log(0,0,"prim: %x dinfo:%x addr:%x msglen:%d frm->len:%d\n",frm->prim, frm->dinfo, frm->addr, msg->len,frm->len );
#endif
-
- return NULL;
+ return msg;
}
void misdn_lib_isdn_l1watcher(int port)
@@ -3914,8 +3899,6 @@ char *manager_isdn_get_info(enum event_e event)
void manager_bchannel_activate(struct misdn_bchannel *bc)
{
char buf[128];
- iframe_t *ifrm;
- int ret;
struct misdn_stack *stack=get_stack_by_bc(bc);
@@ -3931,19 +3914,7 @@ void manager_bchannel_activate(struct misdn_bchannel *bc)
mISDN_write_frame(stack->midev, buf, bc->addr | FLG_MSG_DOWN, DL_ESTABLISH | REQUEST, 0,0, NULL, TIMEOUT_1SEC);
- ret=mISDN_read(stack->midev,buf,128,TIMEOUT_10SEC);
-
- ifrm=(iframe_t*)buf;
-
- if (ret>0) {
- if (ifrm->prim== (DL_ESTABLISH|CONFIRM)) {
- cb_log(2,stack->port,"bchan: DL_ESTABLISH|CNF\n");
- }
- }
-
-
return ;
-
}
@@ -3977,8 +3948,6 @@ void manager_bchannel_deactivate(struct misdn_bchannel * bc)
char buf[128];
mISDN_write_frame(stack->midev, buf, bc->addr | FLG_MSG_DOWN, DL_RELEASE|REQUEST,0,0,NULL, TIMEOUT_1SEC);
- mISDN_read(stack->midev, buf, 128, TIMEOUT_1SEC);
-
clear_ibuffer(bc->astbuf);
bc_state_change(bc,BCHAN_RELEASE);