[sr-dev] [Async] async_sleep does not work insido a while block

Daniel-Constantin Mierla miconda at gmail.com
Thu Aug 4 13:43:44 CEST 2011


Hello,

async_sleep() has some limitations listed in the readme, specifically, 
the state of config execution is lost since the resume happens in 
different application process. You better use the async_route() function 
if you are not that familiar with the internal cfg file interpreter. As 
a matter of fact, async_sleep() was added more for sampling reasons, to 
help other developers discover internal async API.

Cheers,
Daniel

On 8/4/11 1:10 PM, Iñaki Baz Castillo wrote:
>    $avp(async_attemps) = 1;
>
>    while($avp(async_attemps)<  4)
>    {
>      xlog("L_INFO", "------------- attemp $avp(async_attemps)\n");
>      $avp(async_attemps) = $avp(async_attemps) + 1;
>      async_sleep("1");
>      xlog("L_INFO", "something\n");
>    }
>
>    xlog("L_INFO", "*** out of the while\n");
>
>
> produces:
>
>    INFO:<script>: ------------- attemp 1
>    INFO:<script>: something
>    INFO:<script>: *** out of the while
>
>
> So, can async_sleep() be called within a while() block? IMHO it seems
> that the internal while counter lives in the initial process handling
> the request so when the processing is taken by other process (after
> async_sleep) it knows nothing about the while.
>
> Thanks.
>
>

-- 
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kat
http://linkedin.com/in/miconda -- http://twitter.com/miconda




More information about the sr-dev mailing list