• Monty's avatar
    Fixed memory leaks in embedded server and mysqltest · 53af3d8c
    Monty authored
    This commit fixes the following issues:
    - memory leak checking enabled for mysqltest. This cover all cases except
      calls to 'die()' that only happens in case of internal failures in
      mysqltest. die() is not called anymore in the result files differs.
    - One can now run mtr --embedded without failures (this crashed or hang
      before)
    - cleanup_and_exit() has a new parameter that indicates that it is called
      from die(), in which case we should not do memory leak checks. We now
      always call cleanup_and_exit() instead of exit() to be able to free up
      memory and discover memory leaks.
    - Lots of new assert to catch error conditions
    - More DBUG statements.
    - Fixed that all results are freed in mysqltest (Fixed a memory leak in
      mysqltest when using prepared statements).
    - Fixed race condition in do_stmt_close() that caused embedded server
      to not free memory. (Memory leak in mysqltest with embedded server).
    - Fixed two memory leaks in embedded server when using prepared statements.
      These memory leaks caused timeout hangs in mtr when server was compiled
      with safemalloc. This issue was not noticed (except as timeouts) as
      memory report checking was done but output of it was disabled.
    53af3d8c
lib_sql.cc 36.8 KB