summaryrefslogtreecommitdiff
path: root/sql/examples
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2005-02-15 17:12:13 +0200
committerunknown <monty@mysql.com>2005-02-15 17:12:13 +0200
commite2edf02421de2e94264f1b64e7e5ece43a67ac5b (patch)
tree15b9cad34a1d5d325aaaa43172f7410440a0e70e /sql/examples
parent67b16d202b6e6912d6018685a0f7b0bb55cfbbad (diff)
parente1099fac1f9d409ad767f0a2cd02ca93f5ddd209 (diff)
downloadmariadb-git-e2edf02421de2e94264f1b64e7e5ece43a67ac5b.tar.gz
Merge with 4.1
BitKeeper/etc/logging_ok: auto-union BitKeeper/triggers/post-commit: Auto merged innobase/row/row0mysql.c: Auto merged myisam/ft_boolean_search.c: Auto merged mysql-test/r/ctype_ucs.result: Auto merged mysql-test/r/distinct.result: Auto merged mysql-test/r/fulltext.result: Auto merged mysql-test/r/select.result: Auto merged mysql-test/r/subselect.result: Auto merged mysql-test/r/union.result: Auto merged mysql-test/t/ctype_ucs.test: Auto merged mysql-test/t/subselect.test: Auto merged mysql-test/t/union.test: Auto merged sql/item_strfunc.cc: Auto merged sql/sql_cache.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_list.h: Auto merged sql/examples/ha_archive.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_string.h: Auto merged vio/viosocket.c: Auto merged scripts/mysql_create_system_tables.sh: simple merge sql/field.cc: simple merge sql/item.h: simple merge sql/sql_lex.h: simple merge sql/sql_yacc.yy: Merge (join_table_list was not comptely merged. Need to run test to know how things works...) sql/table.cc: Keep code from 5.0, except delted one not needed line strings/ctype-ucs2.c: Auto merge
Diffstat (limited to 'sql/examples')
-rw-r--r--sql/examples/ha_archive.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/sql/examples/ha_archive.cc b/sql/examples/ha_archive.cc
index b33b5102e69..ccc3ef713b8 100644
--- a/sql/examples/ha_archive.cc
+++ b/sql/examples/ha_archive.cc
@@ -115,6 +115,8 @@
data - The data is stored in a "row +blobs" format.
*/
+/* If the archive storage engine has been inited */
+static bool archive_inited= 0;
/* Variables for archive share methods */
pthread_mutex_t archive_mutex;
static HASH archive_open_tables;
@@ -158,6 +160,7 @@ static byte* archive_get_key(ARCHIVE_SHARE *share,uint *length,
bool archive_db_init()
{
+ archive_inited= 1;
VOID(pthread_mutex_init(&archive_mutex, MY_MUTEX_INIT_FAST));
return (hash_init(&archive_open_tables, system_charset_info, 32, 0, 0,
(hash_get_key) archive_get_key, 0, 0));
@@ -177,8 +180,12 @@ bool archive_db_init()
bool archive_db_end()
{
- hash_free(&archive_open_tables);
- VOID(pthread_mutex_destroy(&archive_mutex));
+ if (archive_inited)
+ {
+ hash_free(&archive_open_tables);
+ VOID(pthread_mutex_destroy(&archive_mutex));
+ }
+ archive_inited= 0;
return FALSE;
}