aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2007-04-11 20:22:20 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2007-04-11 20:22:20 +0000
commit7fa5d3c0edad565d629648fe7ffa490cd2f559d4 (patch)
tree7d36d26650b2cd72b2f84b721e8d429b619c8302
parent06b8dd13216d028e7aa8a4bc028cac74532bd44c (diff)
downloadmailfromd-7fa5d3c0edad565d629648fe7ffa490cd2f559d4.tar.gz
mailfromd-7fa5d3c0edad565d629648fe7ffa490cd2f559d4.tar.bz2
[WITH_BDB] (mu_dbm_open): Improve logging
git-svn-id: file:///svnroot/mailfromd/branches/release_3_1_patches@1350 7a8a7f39-df28-0410-adc6-e0d955640f24
-rw-r--r--src/mu_dbm.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mu_dbm.c b/src/mu_dbm.c
index 699dd609..62291062 100644
--- a/src/mu_dbm.c
+++ b/src/mu_dbm.c
@@ -240,6 +240,15 @@ mu_dbm_finish ()
FREE_ENV ();
}
+static void
+mu_dbm_errcall_fcn (const char *errpfx, char *msg)
+{
+ if (errpfx)
+ mu_error ("%s: Berkeley DB error: %s", errpfx, msg);
+ else
+ mu_error ("Berkeley DB error: %s", msg);
+}
+
int
mu_dbm_open (char *name, DBM_FILE *dbm, int flags, int mode, int *ro)
{
@@ -263,6 +272,8 @@ mu_dbm_open (char *name, DBM_FILE *dbm, int flags, int mode, int *ro)
DB_CREATE | DB_INIT_LOCK | DB_INIT_MPOOL);
if (mu_dbm_errno)
return MU_ERR_FAILURE;
+ dbenv->db_errcall = mu_dbm_errcall_fcn;
+
# else
if (mu_dbm_errno = db_env_create (&dbenv, 0))
{
@@ -271,6 +282,8 @@ mu_dbm_open (char *name, DBM_FILE *dbm, int flags, int mode, int *ro)
return MU_ERR_FAILURE;
}
+ dbenv->set_errcall (dbenv, mu_dbm_errcall_fcn);
+
if (mu_dbm_errno = dbenv->open (dbenv, mailfromd_state_dir,
DB_CREATE | DB_INIT_CDB | DB_INIT_MPOOL,
0600))

Return to:

Send suggestions and report system problems to the System administrator.