
Ah. I understand now. Thanks for explaining! On 08/03/13 07:39, Artyom Beilis wrote:
Jookia,
I don't think this is a problem at all. Reachable code is not a memory leak. The data is eventually got destroyed, also note that we as users do not really have control of how lib deallocates resources.
For example this code is perfectly fine code:
#include <locale> #include <iostream>
struct fct : public std::locale::facet { static std::locale::id id; fct(size_t n = 0) : std::locale::facet(n) { x=new int(1); } virtual ~fct() { delete x; } int *x; };
std::locale::id fct::id;
int main() { std::locale l(std::locale(),new fct(0)); std::locale::global(l); std::cout.imbue(l); }
But valgrind reports reachable code...
There is nothing you can do.
Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/