Hi guys! I am developing custom kamailio module in which I am parsing some properties from incoming SIP messages and I am persisting them within linked list of my custom structure.
I am also accessing this linked list and I am deciding on the data which part of my program will be executed. I am also at some point removing items from linked list. I was testing my module only in single fork while I was developing it but now I want to use it with multiple forks. My linked list is allocated via `shm_malloc` function and all data within it as well. I assumed that I need to allocate some lock as well so at the time of creation single node I am allocating lock by http://www.asipto.com/pub/kamailio-devel-guide/#c03lock_init Unfortunately I didn't find anywhere how should I access this kind of data. Do I need to check every time I want to access my structure if the lock is unlocked and if I am accessing it I need to lock it? Or are these actions performed by kamailio internally? Another question is if it is sufficient to have one lock per structure or I need to lock every structure within that structure? For instance: typedef struct node { char *some_property; another_node_t *some_other_property; another_node_t *another_property; struct node *prev; struct node *next; gen_lock_t *lock; } node_t; In this scenario do I need create `gen_lock_t` also within `another_node_t` structure? Thanks in advance for any help
_______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
