1/*- 2 * See the file LICENSE for redistribution information. 3 * 4 * Copyright (c) 1996,2008 Oracle. All rights reserved. 5 * 6 * $Id: mut_stub.c,v 12.6 2008/01/08 20:58:43 bostic Exp $ 7 */ 8 9#ifndef HAVE_MUTEX_SUPPORT 10#include "db_config.h" 11 12#include "db_int.h" 13#include "dbinc/db_page.h" 14#include "dbinc/db_am.h" 15 16/* 17 * If the library wasn't compiled with mutex support, various routines 18 * aren't available. Stub them here, returning an appropriate error. 19 */ 20static int __db_nomutex __P((ENV *)); 21 22/* 23 * __db_nomutex -- 24 * Error when a Berkeley DB build doesn't include mutexes. 25 */ 26static int 27__db_nomutex(env) 28 ENV *env; 29{ 30 __db_errx(env, "library build did not include support for mutexes"); 31 return (DB_OPNOTSUP); 32} 33 34int 35__mutex_alloc_pp(dbenv, flags, indxp) 36 DB_ENV *dbenv; 37 u_int32_t flags; 38 db_mutex_t *indxp; 39{ 40 COMPQUIET(flags, 0); 41 COMPQUIET(indxp, NULL); 42 return (__db_nomutex(dbenv->env)); 43} 44 45int 46__mutex_alloc(env, alloc_id, flags, indxp) 47 ENV *env; 48 int alloc_id; 49 u_int32_t flags; 50 db_mutex_t *indxp; 51{ 52 COMPQUIET(env, NULL); 53 COMPQUIET(alloc_id, 0); 54 COMPQUIET(flags, 0); 55 *indxp = MUTEX_INVALID; 56 return (0); 57} 58 59void 60__mutex_clear(env, mutex) 61 ENV *env; 62 db_mutex_t mutex; 63{ 64 COMPQUIET(env, NULL); 65 COMPQUIET(mutex, MUTEX_INVALID); 66} 67 68int 69__mutex_free_pp(dbenv, indx) 70 DB_ENV *dbenv; 71 db_mutex_t indx; 72{ 73 COMPQUIET(indx, 0); 74 return (__db_nomutex(dbenv->env)); 75} 76 77int 78__mutex_free(env, indxp) 79 ENV *env; 80 db_mutex_t *indxp; 81{ 82 COMPQUIET(env, NULL); 83 *indxp = MUTEX_INVALID; 84 return (0); 85} 86 87int 88__mutex_get_align(dbenv, alignp) 89 DB_ENV *dbenv; 90 u_int32_t *alignp; 91{ 92 COMPQUIET(alignp, NULL); 93 return (__db_nomutex(dbenv->env)); 94} 95 96int 97__mutex_get_increment(dbenv, incrementp) 98 DB_ENV *dbenv; 99 u_int32_t *incrementp; 100{ 101 COMPQUIET(incrementp, NULL); 102 return (__db_nomutex(dbenv->env)); 103} 104 105int 106__mutex_get_max(dbenv, maxp) 107 DB_ENV *dbenv; 108 u_int32_t *maxp; 109{ 110 COMPQUIET(maxp, NULL); 111 return (__db_nomutex(dbenv->env)); 112} 113 114int 115__mutex_get_tas_spins(dbenv, tas_spinsp) 116 DB_ENV *dbenv; 117 u_int32_t *tas_spinsp; 118{ 119 COMPQUIET(tas_spinsp, NULL); 120 return (__db_nomutex(dbenv->env)); 121} 122 123int 124__mutex_lock_pp(dbenv, indx) 125 DB_ENV *dbenv; 126 db_mutex_t indx; 127{ 128 COMPQUIET(indx, 0); 129 return (__db_nomutex(dbenv->env)); 130} 131 132void 133__mutex_print_debug_single(env, tag, mutex, flags) 134 ENV *env; 135 const char *tag; 136 db_mutex_t mutex; 137 u_int32_t flags; 138{ 139 COMPQUIET(env, NULL); 140 COMPQUIET(tag, NULL); 141 COMPQUIET(mutex, MUTEX_INVALID); 142 COMPQUIET(flags, 0); 143} 144 145void 146__mutex_print_debug_stats(env, mbp, mutex, flags) 147 ENV *env; 148 DB_MSGBUF *mbp; 149 db_mutex_t mutex; 150 u_int32_t flags; 151{ 152 COMPQUIET(env, NULL); 153 COMPQUIET(mbp, NULL); 154 COMPQUIET(mutex, MUTEX_INVALID); 155 COMPQUIET(flags, 0); 156} 157 158int 159__mutex_set_align(dbenv, align) 160 DB_ENV *dbenv; 161 u_int32_t align; 162{ 163 COMPQUIET(align, 0); 164 return (__db_nomutex(dbenv->env)); 165} 166 167int 168__mutex_set_increment(dbenv, increment) 169 DB_ENV *dbenv; 170 u_int32_t increment; 171{ 172 COMPQUIET(increment, 0); 173 return (__db_nomutex(dbenv->env)); 174} 175 176int 177__mutex_set_max(dbenv, max) 178 DB_ENV *dbenv; 179 u_int32_t max; 180{ 181 COMPQUIET(max, 0); 182 return (__db_nomutex(dbenv->env)); 183} 184 185int 186__mutex_set_tas_spins(dbenv, tas_spins) 187 DB_ENV *dbenv; 188 u_int32_t tas_spins; 189{ 190 COMPQUIET(tas_spins, 0); 191 return (__db_nomutex(dbenv->env)); 192} 193 194void 195__mutex_set_wait_info(env, mutex, waitp, nowaitp) 196 ENV *env; 197 db_mutex_t mutex; 198 u_int32_t *waitp, *nowaitp; 199{ 200 COMPQUIET(env, NULL); 201 COMPQUIET(mutex, MUTEX_INVALID); 202 *waitp = *nowaitp = 0; 203} 204 205int 206__mutex_stat_pp(dbenv, statp, flags) 207 DB_ENV *dbenv; 208 DB_MUTEX_STAT **statp; 209 u_int32_t flags; 210{ 211 COMPQUIET(statp, NULL); 212 COMPQUIET(flags, 0); 213 return (__db_nomutex(dbenv->env)); 214} 215 216int 217__mutex_stat_print_pp(dbenv, flags) 218 DB_ENV *dbenv; 219 u_int32_t flags; 220{ 221 COMPQUIET(flags, 0); 222 return (__db_nomutex(dbenv->env)); 223} 224 225int 226__mutex_unlock_pp(dbenv, indx) 227 DB_ENV *dbenv; 228 db_mutex_t indx; 229{ 230 COMPQUIET(indx, 0); 231 return (__db_nomutex(dbenv->env)); 232} 233#endif /* !HAVE_MUTEX_SUPPORT */ 234