[PATCH] Fix EMI unacked message detection in windowing mode
Olivier Dormond <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Organization | MNC Mobile News Channel SA |
| Message-ID | <20100708105216.5485432c@angband> |
Hello, Here is a patch against 1.4.3 to fix the detection of non-acked messages sent through EMI/UCP. The problem arise when the window parameter is set to a non-default value. In this case the loop in emi2_idleprocessing which search for unacked messages only examine the first "window" messages of the ring-buffer and thus misses any unacked message with a trn higher then "window". Cheers, Olivier -- ______________________________________________________________________ MNC Mobile News Channel SA Direct phone: +41 21 317 50 25 Olivier Dormond Central: +41 21 317 50 20 Av. de la Gare 10 Fax: +41 21 317 50 21 1003 Lausanne Email: [email protected]
kannel-1.4.3-emi-windowing-fix.patch
(text/x-patch, 635 B)
diff -rubB kannel-1.4.3/gw/smsc/smsc_emi.c kannel-1.4.3-emi-windowing-fix/gw/smsc/smsc_emi.c
--- kannel-1.4.3/gw/smsc/smsc_emi.c 2009-01-12 17:46:50.000000000 +0100
+++ kannel-1.4.3-emi-windowing-fix/gw/smsc/smsc_emi.c 2010-07-08 10:35:06.000000000 +0200
@@ -1199,7 +1199,7 @@
if (PRIVDATA(conn)->unacked && (current_time > (PRIVDATA(conn)->check_time + 30))) {
PRIVDATA(conn)->check_time = current_time;
- for (i = 0; i < PRIVDATA(conn)->window; i++) {
+ for (i = 0; i < EMI2_MAX_TRN; i++) {
if (SLOTBUSY(conn,i)
&& PRIVDATA(conn)->slots[i].sendtime < (current_time - PRIVDATA(conn)->waitack)) {