From 384cd67e60eb8b28004a6382a9ae5bb4a0e283db Mon Sep 17 00:00:00 2001 From: MikalaiR Date: Fri, 11 Mar 2016 16:02:41 +0000 Subject: 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 --- plugins/Dbx_mdb/src/lmdb/mdb.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'plugins/Dbx_mdb/src/lmdb') 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) -- cgit v1.2.3