mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-01 19:43:03 +00:00
automerge commit
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@70353 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -988,7 +988,7 @@ static int misdn_show_cls (int fd, int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
misdn_dump_chanlist();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -413,12 +413,19 @@ void dump_chan_list(struct misdn_stack *stack)
|
||||
int i;
|
||||
|
||||
for (i=0; i <= stack->b_num; i++) {
|
||||
cb_log(6, stack->port, "Idx:%d stack->cchan:%d Chan:%d\n",i,stack->channels[i], i+1);
|
||||
cb_log(6, stack->port, "Idx:%d stack->cchan:%d in_use:%d Chan:%d\n",i,stack->channels[i], stack->bc[i].in_use, i+1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void misdn_dump_chanlist()
|
||||
{
|
||||
struct misdn_stack *stack=get_misdn_stack();
|
||||
for ( ; stack; stack=stack->next) {
|
||||
dump_chan_list(stack);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static int find_free_chan_in_stack(struct misdn_stack *stack, int channel, int dec)
|
||||
{
|
||||
@@ -658,7 +665,6 @@ int clean_up_bc(struct misdn_bchannel *bc)
|
||||
mISDN_write_frame(stack->midev, buff, bc->layer_id|FLG_MSG_TARGET|FLG_MSG_DOWN, MGR_DELLAYER | REQUEST, 0, 0, NULL, TIMEOUT_1SEC);
|
||||
|
||||
bc->b_stid = 0;
|
||||
bc->in_use = 0;
|
||||
bc_state_change(bc, BCHAN_CLEANED);
|
||||
|
||||
return ret;
|
||||
@@ -676,6 +682,7 @@ void clear_l3(struct misdn_stack *stack)
|
||||
empty_chan_in_stack(stack,i+1);
|
||||
empty_bc(&stack->bc[i]);
|
||||
clean_up_bc(&stack->bc[i]);
|
||||
stack->bc[i].in_use = 0;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1585,7 +1592,8 @@ int handle_cr ( struct misdn_stack *stack, iframe_t *frm)
|
||||
clean_up_bc(bc);
|
||||
|
||||
if (channel>0)
|
||||
empty_chan_in_stack(stack,bc->channel);
|
||||
empty_chan_in_stack(stack,channel);
|
||||
bc->in_use=0;
|
||||
|
||||
dump_chan_list(stack);
|
||||
|
||||
@@ -1619,11 +1627,12 @@ void misdn_lib_release(struct misdn_bchannel *bc)
|
||||
return;
|
||||
}
|
||||
|
||||
if (bc->channel>0) {
|
||||
if (bc->channel>0)
|
||||
empty_chan_in_stack(stack,bc->channel);
|
||||
}
|
||||
|
||||
empty_bc(bc);
|
||||
clean_up_bc(bc);
|
||||
bc->in_use=0;
|
||||
}
|
||||
|
||||
|
||||
@@ -2070,7 +2079,8 @@ handle_event_nt(void *dat, void *arg)
|
||||
clean_up_bc(bc);
|
||||
|
||||
if (channel>0)
|
||||
empty_chan_in_stack(stack, bc->channel);
|
||||
empty_chan_in_stack(stack,channel);
|
||||
bc->in_use=0;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -2639,8 +2649,6 @@ int handle_frm(msg_t *msg)
|
||||
bc->in_use=0;
|
||||
|
||||
cb_log(0, stack->port, "GOT IGNORE SETUP\n");
|
||||
|
||||
|
||||
break;
|
||||
case RESPONSE_OK:
|
||||
cb_log(4, stack->port, "GOT SETUP OK\n");
|
||||
@@ -2668,8 +2676,9 @@ int handle_frm(msg_t *msg)
|
||||
set_chan_in_stack(stack,bc->channel);
|
||||
} else {
|
||||
if (channel>0)
|
||||
empty_chan_in_stack(stack,bc->channel);
|
||||
empty_chan_in_stack(stack,channel);
|
||||
}
|
||||
bc->in_use=0;
|
||||
}
|
||||
|
||||
cb_log(5, stack->port, "Freeing Msg on prim:%x \n",frm->prim);
|
||||
@@ -3339,7 +3348,9 @@ int misdn_lib_send_event(struct misdn_bchannel *bc, enum event_e event )
|
||||
clean_up_bc(bc);
|
||||
|
||||
if (channel>0)
|
||||
empty_chan_in_stack(stack,bc->channel);
|
||||
empty_chan_in_stack(stack,channel);
|
||||
|
||||
bc->in_use=0;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3383,7 +3394,9 @@ int misdn_lib_send_event(struct misdn_bchannel *bc, enum event_e event )
|
||||
clean_up_bc(bc);
|
||||
|
||||
if (channel>0)
|
||||
empty_chan_in_stack(stack,bc->channel);
|
||||
empty_chan_in_stack(stack,channel);
|
||||
|
||||
bc->in_use=0;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -3681,10 +3694,12 @@ int misdn_lib_send_restart(int port, int channel)
|
||||
if (stack->bc[cnt].channel == i) {
|
||||
empty_bc(&stack->bc[cnt]);
|
||||
clean_up_bc(&stack->bc[cnt]);
|
||||
stack->bc[cnt].in_use=0;
|
||||
}
|
||||
}
|
||||
empty_chan_in_stack(stack, i);
|
||||
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -4168,6 +4183,7 @@ void manager_clean_bc(struct misdn_bchannel *bc )
|
||||
if (bc->channel>0)
|
||||
empty_chan_in_stack(stack, bc->channel);
|
||||
empty_bc(bc);
|
||||
bc->in_use=0;
|
||||
|
||||
cb_event(EVENT_CLEANUP, bc, NULL);
|
||||
}
|
||||
|
||||
@@ -480,6 +480,7 @@ void misdn_lib_reinit_nt_stack(int port);
|
||||
char *bc_state2str(enum bchannel_state state);
|
||||
void bc_state_change(struct misdn_bchannel *bc, enum bchannel_state state);
|
||||
|
||||
void misdn_dump_chanlist(void);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user