Stipe Tolj wrote:
> kanelek wrote:
> >
> > Hi All,
> >
> > I use Kannel with EMI2 connection to smsc.
> > I think there is a bug in EMI2 driver in cvs version of Kannel.
> > Termination of bearerbox ends with:
> >
> > 2003-01-13 13:46:21 [20] PANIC: gwlib/thread.c:79: mutex_lock_real: Mutex
> > failure! (Called from gwlib/counter.c:45:counter_increase.)
> >
> > I have checked sources and found in smsc_emi2.c:
> >
> > 503 static int handle_operation(SMSCConn *conn, Connection *server,
> > 504 struct emimsg *emimsg)
> > 505 {
> > ...
> > 515 switch(emimsg->ot) {
> > 516 case 01:
> > ...
> > 572 bb_smscconn_receive(conn, msg);
> > ...
> > 581 case 52:
> > ...
> > 713 counter_increase(conn->received); <--why is it here?? this
> > line should be removed
> > 714 bb_smscconn_receive(conn, msg);
> > ...
> > 773 }
> >
> > Acording to comment in smscconn_p.c :
> > 102 /* connection specific counters (created in smscconn.c, updated
> > 103 * by callback functions in bb_smscconn.c, NOT used by specific
> > driver) */
> >
> > this counter should not be increased here.
> >
> > Actually, it is increased in function bb_smscconn_receive(..) called in next
> > line.
> > Besides, conn->received is not increased in EMI2 driver when message comes
> > with OT=01 from SMSC.
> >
> > I removed this line in local version and everything works well.
>
> agreed, the counter_increase is done twice. Anyone voting for this
> obvious patch too?! Heads up please.
This patch works for me. I vote for commit it to cvs.
regards,
Dariusz Markowicz