try this, i found this when solving similar problem.There is another method to make and free connection, here is just one change. The trick is that you dont call mysql_close( ) on &mysql_connection , but on return of mysql_real_connect(); Try it, i think that this solve your is problem.
static MYSQL myMYSQL ; static MYSQL *myData ; mysql_init(&myMYSQL); if ( myData=mysql_real_connect( &myMYSQL, "localhost", "puberusr", "puber1234", "pubernew", MYSQL_PORT, NULL, 0 ) ) { if ( mysql_select_db( myData, "pubernew" ) < 0 ) { DisplayException(mysql_error(&myMYSQL)); mysql_close( myData ) ; } } else { DisplayException(mysql_error(&myMYSQL)); mysql_close( myData ) ; } ----- Original Message ----- From: "John McCaskey" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Sunday, January 18, 2004 8:31 AM Subject: Re: Memory leaks using MySQL C Api > Agreed, I am not calling mysql_store_result(). I attempted to add > my_free() but the function does not seem to exist, it is also not listed > in the API docs for the c api. As such it still seems that there should > be no leak, but yet I do get one. Thanks for the idea anyway Chris, > maybe you can clarify for us once more. > > John McCaskey > > On Sat, 2004-01-17 at 12:44, Aftab Jahan Subedar wrote: > > Hey wait a minute. Where did you get the my_free(), may be you are > > trying to say mysql_free(), but then that is used only if result set is > > used/called. > > > > But the code does not show any result set call. ie. mysql_use_result() > > or mysql_store_result(). > > > > So, the question now, how come there is a leak here. I dont see any, > > does anyone see any? > > > > Chris Nolan wrote: > > > > > Hi! > > > > > > You're looking for the function my_free(). Enjoy! > > > > > > Regards, > > > > > > Chris > > > > > > John McCaskey wrote: > > > > > >> I have the following code: > > >> > > >> > > >> > > >> //try the mysql connection > > >> > > >> mysql_init(&mysql_connection); > > >> > > >> if(!mysql_real_connect(&mysql_connection, db_host, db_user, > > >> db_pass, > > >> db_db, 0, NULL, 0)) { > > >> > > >> flockfile(stderr); > > >> > > >> fprintf(stderr, "%s: Failed to connect to database: Error: > > >> %s\n", timestamp, mysql_error(&mysql_connection)); > > >> > > >> funlockfile(stderr); > > >> > > >> mysql_close(&mysql_connection); > > >> > > >> return(2); > > >> > > >> } > > >> > > >> > > >> > > >> mysql_close(&mysql_connection); > > >> > > >> > > >> > > >> This code is creating a memory leak. Am I missing some cleanup calls? > > >> I'm > > >> under the impression all I should need to do is call mysql_close to > > >> clean up > > >> the connection? I'm testing this using mtrace, if I place a return > > >> directly > > >> above the code segment it reports no leaks, if I place it direcly > > >> below the > > >> fragment there are several variables reported as not being freed. Any > > >> ideas? > > >> > > >> > > >> > > >> John A. McCaskey > > >> > > >> > > >> > > >> > > >> > > >> > > > > > > > > > > -- > > > > Aftab Jahan Subedar > > CEO/Software Engineer > > Subedar Technologies > > Subedar Baag > > Bibir Bagicha #1 > > North Jatrabari > > Dhaka 1204 > > Bangladesh > > http://www.SubedarTechnologies.com > > http://www.DhakaStockExchangeGame.com/ > > http://www.CEOBangladesh.com/ > > http://www.NYSEGame.com > > tel://+88027519050 > > EMail://[EMAIL PROTECTED] - Directly to my notebook > > > > > > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] > > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]