[sr-dev] how to define an infinite while loop?

Ovidiu Sas osas at voipembedded.com
Wed Apr 7 18:14:14 CEST 2010


How about defining a new PV: '$true'.
If we have a constant word in the while loop, then yes, it might be a
missconfiguration and it is good to have the warning.
Having a '$true' PV will mean that we want an infinite loop and
there's no need to print the warning.
The '$true' will make the config more easy to read as opposed to
defining a variable just for the purpose of creating an infinite loop.

Thanks,
Ovidiu

On Fri, Apr 2, 2010 at 4:53 AM, Andrei Pelinescu-Onciul
<andrei at iptel.org> wrote:
> On Apr 01, 2010 at 22:23, Ovidiu Sas <osas at voipembedded.com> wrote:
>> If I define an infinite loop like this:
>> while( true ) {
>>     ...
>> }
>> the following warning is reported:
>> WARNING: <core> [cfg.y:3307]: warning in config file
>> /etc/kamailio/kamailio.cfg, line 4, column 9-12: constant value in
>> while(...)
>> The config file used for testing:
>> #!KAMAILIO
>>
>> route{
>>         while( true ) {
>>                 exit;
>>         }
>>         exit;
>> }
>>
>>
>> How can I define a simple infinite loop without getting a warning in the logs.
>>
>> I don't want to define a variable just for the while loop and test it.
>> $var(true) = 1;
>> while ($var(true)) {
>>     ...
>> }
>>
>> Is there a specific PV like '$null' or a specific keyword?
>
> No, you have to live with the warning.
> In most cases infinite loops are a bug and hence we better have the
> warning (this is a sip router and not a general programing language).
>
> Andrei
>



More information about the sr-dev mailing list