sgen_binddb
mutex_enter(&sgen_binddb.sdb_lock);
if (sgen_binddb.sdb_init == 0) {
mutex_exit(&sgen_binddb.sdb_lock);
if ((sgen_binddb.sdb_inq_nodes == NULL) &&
(sgen_binddb.sdb_type_nodes == NULL)) {
struct sgen_binddb sgen_binddb;
ASSERT(sgen_binddb.sdb_init == 0);
ASSERT(MUTEX_HELD(&sgen_binddb.sdb_lock));
nodep->node_next = sgen_binddb.sdb_type_nodes;
sgen_binddb.sdb_type_nodes = nodep;
nodep->node_next = sgen_binddb.sdb_inq_nodes;
sgen_binddb.sdb_inq_nodes = nodep;
sgen_binddb.sdb_init = 1;
mutex_enter(&sgen_binddb.sdb_lock);
if (sgen_binddb.sdb_init == 0) {
mutex_exit(&sgen_binddb.sdb_lock);
for (inqp = sgen_binddb.sdb_inq_nodes; inqp != NULL; inqp = inqnextp) {
for (typep = sgen_binddb.sdb_type_nodes; typep != NULL;
mutex_exit(&sgen_binddb.sdb_lock);
for (nodep = sgen_binddb.sdb_inq_nodes; nodep != NULL;
for (nodep = sgen_binddb.sdb_type_nodes; nodep != NULL;
mutex_enter(&sgen_binddb.sdb_lock);
if (sgen_binddb.sdb_init == 0)
mutex_exit(&sgen_binddb.sdb_lock);