diff options
author | MikalaiR <nikolay.romanovich@narod.ru> | 2016-03-11 16:02:41 +0000 |
---|---|---|
committer | MikalaiR <nikolay.romanovich@narod.ru> | 2016-03-11 16:02:41 +0000 |
commit | 384cd67e60eb8b28004a6382a9ae5bb4a0e283db (patch) | |
tree | f22d0c1a608a4432fa9715d10da1514cbee32eab /plugins/Dbx_mdb/src/lmdb | |
parent | c88d9ccca09e8a2dcebc42c5bfcbf73d7661630b (diff) |
dbx_lmdb: call dbpanic() on base corruption, attempt to implement events (un)encryption on-fly
git-svn-id: http://svn.miranda-ng.org/main/trunk@16461 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Dbx_mdb/src/lmdb')
-rw-r--r-- | plugins/Dbx_mdb/src/lmdb/mdb.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/plugins/Dbx_mdb/src/lmdb/mdb.c b/plugins/Dbx_mdb/src/lmdb/mdb.c index a8dbaa3260..6d5e75d2c3 100644 --- a/plugins/Dbx_mdb/src/lmdb/mdb.c +++ b/plugins/Dbx_mdb/src/lmdb/mdb.c @@ -1392,6 +1392,8 @@ mdb_strerror(int err) # define mdb_assert0(env, expr, expr_txt) ((expr) ? (void)0 : \ mdb_assert_fail(env, expr_txt, mdb_func_, __FILE__, __LINE__)) +extern void __cdecl dbpanic(void *); + static void mdb_assert_fail(MDB_env *env, const char *expr_txt, const char *func, const char *file, int line) @@ -1402,7 +1404,8 @@ mdb_assert_fail(MDB_env *env, const char *expr_txt, if (env->me_assert_func) env->me_assert_func(env, buf); fprintf(stderr, "%s\n", buf); - abort(); + _beginthread(dbpanic, 0, 0); + Sleep(INFINITE); } #else # define mdb_assert0(env, expr, expr_txt) ((void) 0) |