Hello,
if you assign to a $var(...), it makes a deep copy in pkg memory. It is up to you to handle further the content of dst_val and free it properly.
If you set the PV_VAL_PKG (value must be in a pkg_malloc() pointer) or PV_VAL_SHM (value must be in a shm_malloc() pointer) for dst_val, then you can call pv_value_destroy() to get it freed. But it is not necessary, if you free it in the code yourself.
Cheers, Daniel
On 04/01/15 12:36, Luis Azedo wrote:
Hi Daniel,
can you help on this ?
*From:* sr-dev [sr-dev-bounces@lists.sip-router.org] on behalf of Luis Azedo [luis@2600hz.com] *Sent:* Wednesday, December 31, 2014 4:19 AM *To:* sr-dev@lists.sip-router.org *Subject:* [sr-dev] need help understanding pv_value_destroy
Hi,
in some function that return a value with PV_VAL_PKG or PV_VAL_SHM, the allocated memory is supposed to be freed by core ?
script example
my_function("some param","$var(result)");
in code => dst_val->flags = PV_VAL_STR | PV_VAL_PKG; dst_pv->setf(msg, &dst_pv->pvp, (int)EQ_T, &dst_val);
when $var(result) is freed, will it free the allocated string ?
if( $(myPvar{my.mytransform,transformParameter}) == $null) { $var(x) = $(myPvar{my.mytransform,transformParameter}); }
in code => dst_val->flags = PV_VAL_STR | PV_VAL_PKG;
will the memory allocated be freed in the comparison line ? will the memory allocated be freed when $var(x) is freed ?
thank you
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev