|
From: Chris F. <cd...@fo...> - 2011-07-16 01:47:24
|
Hi Daniel, I've been working on opensync memory leaks, and found an interesting one in the FormatEnv unref code: http://repo.or.cz/w/opensync/opensync-cdf.git/commitdiff/9fcebe4abc933e256fa65bfbb2c1f4936c3966ff For caps_converters, it looks like it is possible to have init/final logic in the format plugins, since these functions exist: osync_caps_converter_set_initialize_func() osync_caps_converter_set_finalize_func() osync_caps_converter_initialize() osync_caps_converter_finalize() The FormatEnv code does not seem to make use of any of these calls, so my memory leak patch above does not call finalize(). The merger code on the other hand, only has the following functions in opensync_merger.c: osync_merger_set_initialize_func() osync_merger_set_finalize_func() There are no functions available to call these callbacks. Could you give me a bird's eye overview of how the caps_converters and mergers are supposed to work from an API point of view? Should I be implementing init/final sequences in FormatEnv for both? Or is there a reason FormatEnv doesn't bother with these? Thanks! - Chris |