1
<!--$Id: env_set_shm_key.so,v 10.9 2001/05/15 14:44:12 bostic Exp $-->
2
<!--Copyright 1997-2001 by Sleepycat Software, Inc.-->
3
<!--All rights reserved.-->
6
<title>Berkeley DB: DB_ENV->set_shm_key</title>
7
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
8
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
11
<a name="2"><!--meow--></a>
12
<table width="100%"><tr valign=top>
14
<h1>DB_ENV->set_shm_key</h1>
17
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
25
DB_ENV->set_shm_key(DB_ENV *dbenv, long shm_key);
28
<p>Specify a base segment ID for Berkeley DB environment shared memory regions
29
created in system memory on VxWorks or systems supporting X/Open-style
30
shared memory interfaces; for example, UNIX systems supporting
31
<b>shmget</b>(2) and related System V IPC interfaces.
32
<p>This base segment ID will be used when Berkeley DB shared memory regions are
33
first created. It will be incremented a small integer value each time
34
a new shared memory region is created; that is, if the base ID is 35,
35
the first shared memory region created will have a segment ID of 35,
36
and the next one will have a segment ID between 36 and 40 or so. A
37
Berkeley DB environment always creates a master shared memory region; an
38
additional shared memory region for each of the subsystems supported by
39
the environment (Locking, Logging, Memory Pool and Transaction); plus
40
an additional shared memory region for each additional memory pool cache
41
that is supported. Already existing regions with the same segment IDs
42
will be removed. See <a href="../ref/env/region.html">Shared Memory
43
Regions</a> for more information.
44
<p>The intent behind this interface is two-fold: without it, applications
45
have no way to ensure that two Berkeley DB applications don't attempt to use
46
the same segment IDs when creating different Berkeley DB environments. In
47
addition, by using the same segment IDs each time the environment is
48
created, previously created segments will be removed, and the set of
49
segments on the system will not grow without bound.
50
<p>The DB_ENV->set_shm_key interface may be used only to configure Berkeley DB before
51
the <a href="../api_c/env_open.html">DB_ENV->open</a> interface is called.
52
<p>The DB_ENV->set_shm_key function returns a non-zero error value on failure and 0 on success.
53
<p>The database environment's base segment ID may also be set using the environment's
54
<b>DB_CONFIG</b> file. The syntax of the entry in that file is a
55
single line with the string "set_shm_key", one or more whitespace characters,
56
and the ID. Because the <b>DB_CONFIG</b> file is read when the database
57
environment is opened, it will silently overrule configuration done
60
<p>The DB_ENV->set_shm_key function may fail and return a non-zero error for the following conditions:
62
<p><dt>EINVAL<dd>An invalid flag value or parameter was specified.
63
<p>Called after <a href="../api_c/env_open.html">DB_ENV->open</a> was called.
65
<p>The DB_ENV->set_shm_key function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
66
If a catastrophic error has occurred, the DB_ENV->set_shm_key function may fail and return
67
<a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a>, in which case all subsequent Berkeley DB calls will fail
70
<a href="../api_c/env_create.html">db_env_create</a>,
71
<a href="../api_c/env_close.html">DB_ENV->close</a>,
72
<a href="../api_c/env_err.html">DB_ENV->err</a>, <a href="../api_c/env_err.html">DB_ENV->errx</a>
73
<a href="../api_c/env_open.html">DB_ENV->open</a>,
74
<a href="../api_c/env_remove.html">DB_ENV->remove</a>,
75
<a href="../api_c/env_set_alloc.html">DB_ENV->set_alloc</a>,
76
<a href="../api_c/env_set_cachesize.html">DB_ENV->set_cachesize</a>,
77
<a href="../api_c/env_set_data_dir.html">DB_ENV->set_data_dir</a>,
78
<a href="../api_c/env_set_errcall.html">DB_ENV->set_errcall</a>,
79
<a href="../api_c/env_set_errfile.html">DB_ENV->set_errfile</a>,
80
<a href="../api_c/env_set_errpfx.html">DB_ENV->set_errpfx</a>,
81
<a href="../api_c/env_set_feedback.html">DB_ENV->set_feedback</a>,
82
<a href="../api_c/env_set_flags.html">DB_ENV->set_flags</a>,
83
<a href="../api_c/env_set_mutexlocks.html">DB_ENV->set_mutexlocks</a>,
84
<a href="../api_c/env_set_pageyield.html">db_env_set_pageyield</a>,
85
<a href="../api_c/env_set_paniccall.html">DB_ENV->set_paniccall</a>,
86
<a href="../api_c/env_set_panicstate.html">db_env_set_panicstate</a>,
87
<a href="../api_c/env_set_rec_init.html">DB_ENV->set_recovery_init</a>,
88
<a href="../api_c/env_set_rpc_server.html">DB_ENV->set_rpc_server</a>,
89
<a href="../api_c/env_set_region_init.html">db_env_set_region_init</a>,
90
<a href="../api_c/env_set_shm_key.html">DB_ENV->set_shm_key</a>,
91
<a href="../api_c/env_set_tas_spins.html">db_env_set_tas_spins</a>,
92
<a href="../api_c/env_set_tmp_dir.html">DB_ENV->set_tmp_dir</a>,
93
<a href="../api_c/env_set_verbose.html">DB_ENV->set_verbose</a>,
94
<a href="../api_c/env_strerror.html">db_strerror</a>
96
<a href="../api_c/env_version.html">db_version</a>.
98
<table width="100%"><tr><td><br></td><td align=right>
99
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
101
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>