[sr-dev] [kamailio/kamailio] Feature request: http_async_query response route to resume execution from memory (#1642)

Daniel-Constantin Mierla notifications at github.com
Mon Sep 17 08:54:35 CEST 2018


Use avp, xavp or hash table variables, they store the values in shared memory. Moreover, avp/xavp are associated with the suspended transaction and available after continue as they were at suspend time.

Execution jumps to a route block, so whatever you want to have in the same route block after suspend, move to a dedicated route block. Of course, returning in the execution stack done before suspend doesn't work.

But this is something that is specific to parallel processing, the reason for share memory to exist as a concept. Same is also with multi-threading, no share memory because threads work all with same private memory, but there are variables on the stack as well as thread context. You can find many libc functions that have the `thread safe` version, so they require a stack variable or a context.

Even in other programming languages, all async functions require a callback to be provided, which is executed when async task is completed, and as part of globals (shared memory), the rest of variables before async exec are not available.

In short, this is what technology does right now (at least in C), if I am mistaken and someone has solutions, I will be happy to hear and learn.

I am closing this one, if you want to discuss more about this topic, or how to leverage avp/xavp/htable to pass info from suspend time to continue time, should be done on sr-users mailing list.

-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/1642#issuecomment-421907460
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20180916/1f4026b6/attachment-0001.html>


More information about the sr-dev mailing list