Thanks++,

I did not see that point.

Vincent

--
Telemaque - NICE - (FR)
Service Technique - Developpement
http://www.telemaque.fr/
[EMAIL PROTECTED]
Tel : +33 4 93 97 71 64 (fax 68)

----- Original Message ----- 
From: "Alexander Malysh" <[EMAIL PROTECTED]>
To: <devel@kannel.org>
Sent: Friday, April 07, 2006 2:51 PM
Subject: Re: [PATCH] more precise throughput using double [v3]


> Hi,
> 
> this patch applies ok and committed to cvs in modified form.
> 
> >> +    throughput = strtod(octstr_get_cstr(cfg_get(grp, 
> octstr_imm("throughput"))),(char **) NULL);
> >> +    if (throughput == ERANGE || throughput <= 0)
> >>          conn->throughput = 0;   /* defaults to no throughtput
> ...
> 
> Here you have memleak. Look into committed version where it's fixed.
> 
> Thanks,
> Alex
> 
> Vincent CHAVANIS schrieb:
>> is this new one is ok ?
>> 
>> --
>> Telemaque - NICE - (FR)
>> Service Technique - Developpement
>> http://www.telemaque.fr/
>> [EMAIL PROTECTED]
>> Tel : +33 4 93 97 71 64 (fax 68)
>> 
>> ----- Original Message ----- 
>> From: "Alexander Malysh" <[EMAIL PROTECTED]>
>> To: <devel@kannel.org>
>> Sent: Thursday, April 06, 2006 7:23 PM
>> Subject: Re: [PATCH] more precise throughput using double [v3]
>> 
>> 
>>> Hi,
>>>
>>> you patch doesn't apply. Please redo your patch with cvs -Nau from 
>>> within gateway dir.
>>>
>>> Thanks,
>>> Alex
>>>
>>> ------------------------------------------------------------------------
>>>
>>> diff -i -E -b -w -B -rNau gateway/gw/smsc/smsc_emi.c 
>>> gateway-patch/gw/smsc/smsc_emi.c
>>> --- gateway/gw/smsc/smsc_emi.c  2005-02-11 16:35:48.000000000 +0100
>>> +++ gateway-patch/gw/smsc/smsc_emi.c    2006-04-06 19:42:24.000000000 +0200
>>> @@ -992,7 +992,7 @@
>>>      Msg *msg;
>>>      double delay = 0;
>>>  
>>> -    if (conn->throughput) {
>>> +    if (conn->throughput > 0) {
>>>          delay = 1.0 / conn->throughput;
>>>      }
>>>      
>>> @@ -1001,7 +1001,7 @@
>>>             (msg = gw_prioqueue_remove(PRIVDATA(conn)->outgoing_queue)) != 
>>> NULL) {
>>>          int nexttrn = emi2_next_trn(conn);
>>>  
>>> -        if (conn->throughput)
>>> +        if (conn->throughput > 0)
>>>              gwthread_sleep(delay);
>>>  
>>>          /* convert the generic Kannel message into an EMI type message */
>>> diff -i -E -b -w -B -rNau gateway/gw/smsc/smsc_fake.c 
>>> gateway-patch/gw/smsc/smsc_fake.c
>>> --- gateway/gw/smsc/smsc_fake.c 2005-02-11 16:35:48.000000000 +0100
>>> +++ gateway-patch/gw/smsc/smsc_fake.c   2006-04-06 19:42:38.000000000 +0200
>>> @@ -243,7 +243,7 @@
>>>      Msg        *msg;
>>>      double delay = 0;
>>>  
>>> -    if (conn->throughput) {
>>> +    if (conn->throughput > 0) {
>>>          delay = 1.0 / conn->throughput;
>>>      }
>>>  
>>> @@ -297,7 +297,7 @@
>>>              }
>>>  
>>>              /* obey throughput speed limit, if any */
>>> -            if (conn->throughput) {
>>> +            if (conn->throughput > 0) {
>>>                  gwthread_sleep(delay);
>>>              }
>>>          }
>>> diff -i -E -b -w -B -rNau gateway/gw/smsc/smsc_http.c 
>>> gateway-patch/gw/smsc/smsc_http.c
>>> --- gateway/gw/smsc/smsc_http.c 2006-03-29 11:17:55.000000000 +0200
>>> +++ gateway-patch/gw/smsc/smsc_http.c   2006-04-06 19:43:00.000000000 +0200
>>> @@ -1308,7 +1308,7 @@
>>>      Msg *sms = msg_duplicate(msg);
>>>      double delay = 0;
>>>  
>>> -    if (conn->throughput) {
>>> +    if (conn->throughput > 0) {
>>>          delay = 1.0 / conn->throughput;
>>>      }
>>>  
>>> @@ -1316,7 +1316,7 @@
>>>      conndata->send_sms(conn, sms);
>>>  
>>>      /* obey throughput speed limit, if any */
>>> -    if (conn->throughput)
>>> +    if (conn->throughput > 0)
>>>          gwthread_sleep(delay);
>>>  
>>>      return 0;
>>> diff -i -E -b -w -B -rNau gateway/gw/smsc/smsc_smasi.c 
>>> gateway-patch/gw/smsc/smsc_smasi.c
>>> --- gateway/gw/smsc/smsc_smasi.c        2005-02-11 16:35:48.000000000 +0100
>>> +++ gateway-patch/gw/smsc/smsc_smasi.c  2006-04-06 19:43:19.000000000 +0200
>>> @@ -872,7 +872,7 @@
>>>  
>>>      if (*pending_submits == -1) return;
>>>  
>>> -    if (smasi->conn->throughput) {
>>> +    if (smasi->conn->throughput > 0) {
>>>          delay = 1.0 / smasi->conn->throughput;
>>>      }
>>>  
>>> @@ -894,7 +894,7 @@
>>>          smasi_pdu_destroy(pdu);
>>>  
>>>          /* obey throughput speed limit, if any */
>>> -        if (smasi->conn->throughput)
>>> +        if (smasi->conn->throughput > 0)
>>>              gwthread_sleep(delay);
>>>  
>>>          ++(*pending_submits);
>>> diff -i -E -b -w -B -rNau gateway/gw/smsc/smsc_smpp.c 
>>> gateway-patch/gw/smsc/smsc_smpp.c
>>> --- gateway/gw/smsc/smsc_smpp.c 2006-02-07 15:54:44.000000000 +0100
>>> +++ gateway-patch/gw/smsc/smsc_smpp.c   2006-04-06 19:44:14.000000000 +0200
>>> @@ -1013,7 +1013,7 @@
>>>              /*
>>>               * obey throughput speed limit, if any.
>>>               */
>>> -            if (smpp->conn->throughput)
>>> +            if (smpp->conn->throughput > 0)
>>>                  gwthread_sleep(delay);
>>>          }
>>>          else { /* write error occurs */
>>> diff -i -E -b -w -B -rNau gateway/gw/smscconn.c gateway-patch/gw/smscconn.c
>>> --- gateway/gw/smscconn.c       2006-04-01 19:48:51.000000000 +0200
>>> +++ gateway-patch/gw/smscconn.c 2006-04-06 19:51:57.000000000 +0200
>>> @@ -64,6 +64,7 @@
>>>  
>>>  #include <signal.h>
>>>  #include <time.h>
>>> +#include <errno.h>
>>>  
>>>  #include "gwlib/gwlib.h"
>>>  #include "gwlib/regex.h"
>>> @@ -151,7 +152,7 @@
>>>      SMSCConn *conn;
>>>      Octstr *smsc_type;
>>>      int ret;
>>> -    long throughput;
>>> +    double throughput;
>>>      Octstr *allowed_smsc_id_regex;
>>>      Octstr *denied_smsc_id_regex;
>>>      Octstr *allowed_prefix_regex;
>>> @@ -216,10 +217,13 @@
>>>          if ((conn->preferred_prefix_regex = 
>>> gw_regex_comp(preferred_prefix_regex, REG_EXTENDED)) == NULL)
>>>              panic(0, "Could not compile pattern '%s'", 
>>> octstr_get_cstr(preferred_prefix_regex));
>>>  
>>> -    if (cfg_get_integer(&throughput, grp, octstr_imm("throughput")) == -1)
>>> +    throughput = strtod(octstr_get_cstr(cfg_get(grp, 
>>> octstr_imm("throughput"))),(char **) NULL);
>>> +    if (throughput == ERANGE || throughput <= 0)
>>>          conn->throughput = 0;   /* defaults to no throughtput limitation */
>>>      else
>>> -        conn->throughput = (int) throughput;
>>> +        conn->throughput = throughput;
>>> +
>>> +    info(0, "Set throughput to %.3f for smsc id <%s>", throughput, 
>>> octstr_get_cstr(conn->id));
>>>  
>>>      /* configure the internal rerouting rules for this smsc id */
>>>      init_reroute(conn, grp);
>>> diff -i -E -b -w -B -rNau gateway/gw/smscconn_p.h 
>>> gateway-patch/gw/smscconn_p.h
>>> --- gateway/gw/smscconn_p.h     2005-02-11 16:35:48.000000000 +0100
>>> +++ gateway-patch/gw/smscconn_p.h       2006-04-06 19:46:51.000000000 +0200
>>> @@ -194,7 +194,7 @@
>>>  
>>>      int alt_dcs; /* use alternate DCS 0xFX */
>>>  
>>> -    int throughput;     /* message thoughput per sec. to be delivered to 
>>> SMSC */
>>> +    double throughput;     /* message thoughput per sec. to be delivered 
>>> to SMSC */
>>>  
>>>      /* Stores rerouting information for this specific smsc-id */
>>>      int reroute;                /* simply turn MO into MT and process 
>>> internally */
> 
> 
>


Reply via email to