From ce8eb4df443ab39bf19daef66f4d57117c438332 Mon Sep 17 00:00:00 2001 From: Eric Bollengier Date: Sun, 14 Feb 2010 18:12:41 +0100 Subject: [PATCH] Add check for sqlite3_threadsafe() in configure --- bacula/autoconf/config.h.in | 3 +++ bacula/autoconf/configure.in | 1 + bacula/src/cats/sqlite.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/bacula/autoconf/config.h.in b/bacula/autoconf/config.h.in index 15e4ea5086..1c1791cc35 100644 --- a/bacula/autoconf/config.h.in +++ b/bacula/autoconf/config.h.in @@ -612,6 +612,9 @@ /* Set if have PQputCopyData */ #undef HAVE_PQ_COPY +/* Set if have sqlite3_threadsafe */ +#undef HAVE_SQLITE3_THREADSAFE + /* Define to 1 if you have the `prctl' function. */ #undef HAVE_PRCTL diff --git a/bacula/autoconf/configure.in b/bacula/autoconf/configure.in index b85a63ecce..c1baf6c2e0 100644 --- a/bacula/autoconf/configure.in +++ b/bacula/autoconf/configure.in @@ -1789,6 +1789,7 @@ if test x$DB_TYPE = xdbi; then if test $DB_PROG = sqlite3; then A=`test -f $SQL_LIB && nm $DB_PROG_LIB | grep pthread_mutex_lock` pkg=$? + AC_CHECK_LIB(sqlite3, sqlite3_threadsafe, AC_DEFINE(HAVE_SQLITE3_THREADSAFE, 1, [Set if have sqlite3_threadsafe])) fi if test $pkg = 0; then diff --git a/bacula/src/cats/sqlite.c b/bacula/src/cats/sqlite.c index 22680e2f4a..79d586864f 100644 --- a/bacula/src/cats/sqlite.c +++ b/bacula/src/cats/sqlite.c @@ -274,10 +274,12 @@ db_close_database(JCR *jcr, B_DB *mdb) void db_check_backend_thread_safe() { #ifdef HAVE_BATCH_FILE_INSERT +# ifdef HAVE_SQLITE3_THREADSAFE if (!sqlite3_threadsafe()) { Emsg0(M_ABORT, 0, _("SQLite3 client library must be thread-safe " "when using BatchMode.\n")); } +# endif #endif } -- 2.39.5