diff options
author | unknown <serg@serg.mylan> | 2005-09-22 16:05:05 +0200 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2005-09-22 16:05:05 +0200 |
commit | 87ad1060d3239f08cdf9767612e744040dd6d3e2 (patch) | |
tree | c2df90204e86c1ce99206349b62996e68aa4e4cc /sql | |
parent | d2fc3bd4245f8c212046e88151da4a66d1b048b3 (diff) | |
download | mariadb-git-87ad1060d3239f08cdf9767612e744040dd6d3e2.tar.gz |
fixed a memory leak in ha_tina.cc
Diffstat (limited to 'sql')
-rw-r--r-- | sql/examples/ha_tina.cc | 10 | ||||
-rw-r--r-- | sql/examples/ha_tina.h | 3 | ||||
-rw-r--r-- | sql/handler.cc | 4 |
3 files changed, 17 insertions, 0 deletions
diff --git a/sql/examples/ha_tina.cc b/sql/examples/ha_tina.cc index e01cc7cc980..5663cd829bd 100644 --- a/sql/examples/ha_tina.cc +++ b/sql/examples/ha_tina.cc @@ -234,6 +234,16 @@ static int free_share(TINA_SHARE *share) DBUG_RETURN(result_code); } +bool tina_end() +{ + if (tina_init) + { + hash_free(&tina_open_tables); + VOID(pthread_mutex_destroy(&tina_mutex)); + } + tina_init= 0; + return FALSE; +} /* Finds the end of a line. diff --git a/sql/examples/ha_tina.h b/sql/examples/ha_tina.h index 5679d77a4dc..1ccb3418771 100644 --- a/sql/examples/ha_tina.h +++ b/sql/examples/ha_tina.h @@ -126,3 +126,6 @@ public: int find_current_row(byte *buf); int chain_append(); }; + +bool tina_end(); + diff --git a/sql/handler.cc b/sql/handler.cc index 5f8fa33fecc..41fb3a31ddc 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -599,6 +599,10 @@ int ha_panic(enum ha_panic_function flag) if (have_archive_db == SHOW_OPTION_YES) error|= archive_db_end(); #endif +#ifdef HAVE_CSV_DB + if (have_csv_db == SHOW_OPTION_YES) + error|= tina_end(); +#endif if (ha_finish_errors()) error= 1; return error; |