  | | | Possible memory leak of mysql++? | Possible memory leak of mysql++? 2007-06-07 - By Warren Young
Back Kun Niu wrote: > > string database = "perldbi";
Some of your results might change if you change this and the others to this form:
string database("perldbi");
Or, for that matter, pass the string literals directly to Connection::connect().
> int main() > { > Connection con(false); > con.connect( database.c_str(), host.c_str(), username.c_str(), > password.c_str() ); > Query query = con.query(); > query<<"select name from perltable where name='kun'"; > Result res = query.store(); > Result &rres = res; > if(query) > test_result( res ); > return 0; > }
Try wrapping the entire main() block in another block, except for the "return 0" statement. This will force the compiler to dispose of the various objects before returning from main, which might give valgrind better insight into what's actually going on.
> ==26905== by 0x4236515: mysqlpp::Connection::Connection(bool) (in > /usr/lib/libmysqlpp.so.2.0.7)
I'll bet you can guess my recommendation here: upgrade to 2.2.3.
> It seems that the main problem comes from getservname_r.
If it is, disposing of the Connection instance will probably fix it. If that doesn't fix it, it's not really under MySQL++'s control, since that's a connection-related library call.
-- MySQL++ Mailing List For list archives: http://lists.mysql.com/plusplus To unsubscribe: http://lists.mysql.com/plusplus?unsub=mysql@(protected)
|
|
 |