tm_lock
addr + offsetof(topo_mod_t, tm_lock),
if (tm_lock(0) != 0) {
extern int tm_lock(int);
(void) pthread_mutex_lock(&mod->tm_lock);
(void) pthread_mutex_unlock(&mod->tm_lock);
assert(!MUTEX_HELD(&mod->tm_lock));
(void) pthread_mutex_init(&mod->tm_lock, NULL);
assert(MUTEX_HELD(&mod->tm_lock));
(void) pthread_mutex_unlock(&mod->tm_lock);
(void) pthread_mutex_lock(&mod->tm_lock);
(void) pthread_mutex_unlock(&mod->tm_lock);
(void) pthread_mutex_lock(&mod->tm_lock);
(void) pthread_mutex_unlock(&mod->tm_lock);
(void) pthread_mutex_lock(&mod->tm_lock);
(void) pthread_cond_wait(&mod->tm_cv, &mod->tm_lock);
(void) pthread_mutex_unlock(&mod->tm_lock);
pthread_mutex_t tm_lock; /* Lock for tm_cv/owner/flags/refs */