summaryrefslogtreecommitdiff
path: root/db-4.8.30/mutex/mut_stub.c
diff options
context:
space:
mode:
Diffstat (limited to 'db-4.8.30/mutex/mut_stub.c')
-rw-r--r--db-4.8.30/mutex/mut_stub.c233
1 files changed, 233 insertions, 0 deletions
diff --git a/db-4.8.30/mutex/mut_stub.c b/db-4.8.30/mutex/mut_stub.c
new file mode 100644
index 0000000..d988e45
--- /dev/null
+++ b/db-4.8.30/mutex/mut_stub.c
@@ -0,0 +1,233 @@
+/*-
+ * See the file LICENSE for redistribution information.
+ *
+ * Copyright (c) 1996-2009 Oracle. All rights reserved.
+ *
+ * $Id$
+ */
+
+#ifndef HAVE_MUTEX_SUPPORT
+#include "db_config.h"
+
+#include "db_int.h"
+#include "dbinc/db_page.h"
+#include "dbinc/db_am.h"
+
+/*
+ * If the library wasn't compiled with mutex support, various routines
+ * aren't available. Stub them here, returning an appropriate error.
+ */
+static int __db_nomutex __P((ENV *));
+
+/*
+ * __db_nomutex --
+ * Error when a Berkeley DB build doesn't include mutexes.
+ */
+static int
+__db_nomutex(env)
+ ENV *env;
+{
+ __db_errx(env, "library build did not include support for mutexes");
+ return (DB_OPNOTSUP);
+}
+
+int
+__mutex_alloc_pp(dbenv, flags, indxp)
+ DB_ENV *dbenv;
+ u_int32_t flags;
+ db_mutex_t *indxp;
+{
+ COMPQUIET(flags, 0);
+ COMPQUIET(indxp, NULL);
+ return (__db_nomutex(dbenv->env));
+}
+
+int
+__mutex_alloc(env, alloc_id, flags, indxp)
+ ENV *env;
+ int alloc_id;
+ u_int32_t flags;
+ db_mutex_t *indxp;
+{
+ COMPQUIET(env, NULL);
+ COMPQUIET(alloc_id, 0);
+ COMPQUIET(flags, 0);
+ *indxp = MUTEX_INVALID;
+ return (0);
+}
+
+void
+__mutex_clear(env, mutex)
+ ENV *env;
+ db_mutex_t mutex;
+{
+ COMPQUIET(env, NULL);
+ COMPQUIET(mutex, MUTEX_INVALID);
+}
+
+int
+__mutex_free_pp(dbenv, indx)
+ DB_ENV *dbenv;
+ db_mutex_t indx;
+{
+ COMPQUIET(indx, 0);
+ return (__db_nomutex(dbenv->env));
+}
+
+int
+__mutex_free(env, indxp)
+ ENV *env;
+ db_mutex_t *indxp;
+{
+ COMPQUIET(env, NULL);
+ *indxp = MUTEX_INVALID;
+ return (0);
+}
+
+int
+__mutex_get_align(dbenv, alignp)
+ DB_ENV *dbenv;
+ u_int32_t *alignp;
+{
+ COMPQUIET(alignp, NULL);
+ return (__db_nomutex(dbenv->env));
+}
+
+int
+__mutex_get_increment(dbenv, incrementp)
+ DB_ENV *dbenv;
+ u_int32_t *incrementp;
+{
+ COMPQUIET(incrementp, NULL);
+ return (__db_nomutex(dbenv->env));
+}
+
+int
+__mutex_get_max(dbenv, maxp)
+ DB_ENV *dbenv;
+ u_int32_t *maxp;
+{
+ COMPQUIET(maxp, NULL);
+ return (__db_nomutex(dbenv->env));
+}
+
+int
+__mutex_get_tas_spins(dbenv, tas_spinsp)
+ DB_ENV *dbenv;
+ u_int32_t *tas_spinsp;
+{
+ COMPQUIET(tas_spinsp, NULL);
+ return (__db_nomutex(dbenv->env));
+}
+
+int
+__mutex_lock_pp(dbenv, indx)
+ DB_ENV *dbenv;
+ db_mutex_t indx;
+{
+ COMPQUIET(indx, 0);
+ return (__db_nomutex(dbenv->env));
+}
+
+void
+__mutex_print_debug_single(env, tag, mutex, flags)
+ ENV *env;
+ const char *tag;
+ db_mutex_t mutex;
+ u_int32_t flags;
+{
+ COMPQUIET(env, NULL);
+ COMPQUIET(tag, NULL);
+ COMPQUIET(mutex, MUTEX_INVALID);
+ COMPQUIET(flags, 0);
+}
+
+void
+__mutex_print_debug_stats(env, mbp, mutex, flags)
+ ENV *env;
+ DB_MSGBUF *mbp;
+ db_mutex_t mutex;
+ u_int32_t flags;
+{
+ COMPQUIET(env, NULL);
+ COMPQUIET(mbp, NULL);
+ COMPQUIET(mutex, MUTEX_INVALID);
+ COMPQUIET(flags, 0);
+}
+
+int
+__mutex_set_align(dbenv, align)
+ DB_ENV *dbenv;
+ u_int32_t align;
+{
+ COMPQUIET(align, 0);
+ return (__db_nomutex(dbenv->env));
+}
+
+int
+__mutex_set_increment(dbenv, increment)
+ DB_ENV *dbenv;
+ u_int32_t increment;
+{
+ COMPQUIET(increment, 0);
+ return (__db_nomutex(dbenv->env));
+}
+
+int
+__mutex_set_max(dbenv, max)
+ DB_ENV *dbenv;
+ u_int32_t max;
+{
+ COMPQUIET(max, 0);
+ return (__db_nomutex(dbenv->env));
+}
+
+int
+__mutex_set_tas_spins(dbenv, tas_spins)
+ DB_ENV *dbenv;
+ u_int32_t tas_spins;
+{
+ COMPQUIET(tas_spins, 0);
+ return (__db_nomutex(dbenv->env));
+}
+
+void
+__mutex_set_wait_info(env, mutex, waitp, nowaitp)
+ ENV *env;
+ db_mutex_t mutex;
+ uintmax_t *waitp, *nowaitp;
+{
+ COMPQUIET(env, NULL);
+ COMPQUIET(mutex, MUTEX_INVALID);
+ *waitp = *nowaitp = 0;
+}
+
+int
+__mutex_stat_pp(dbenv, statp, flags)
+ DB_ENV *dbenv;
+ DB_MUTEX_STAT **statp;
+ u_int32_t flags;
+{
+ COMPQUIET(statp, NULL);
+ COMPQUIET(flags, 0);
+ return (__db_nomutex(dbenv->env));
+}
+
+int
+__mutex_stat_print_pp(dbenv, flags)
+ DB_ENV *dbenv;
+ u_int32_t flags;
+{
+ COMPQUIET(flags, 0);
+ return (__db_nomutex(dbenv->env));
+}
+
+int
+__mutex_unlock_pp(dbenv, indx)
+ DB_ENV *dbenv;
+ db_mutex_t indx;
+{
+ COMPQUIET(indx, 0);
+ return (__db_nomutex(dbenv->env));
+}
+#endif /* !HAVE_MUTEX_SUPPORT */