Print this page
Fix nlm_unexport
        
@@ -90,10 +90,11 @@
         cv_init(&g->nlm_gc_finish_cv, NULL, CV_DEFAULT, NULL);
         mutex_init(&g->clean_lock, NULL, MUTEX_DEFAULT, NULL);
 
         g->lockd_pid = 0;
         g->run_status = NLM_ST_DOWN;
+        g->nlm_zoneid = zoneid;
 
         nlm_globals_register(g);
         return (g);
 }
 
@@ -101,10 +102,12 @@
 void
 lm_zone_fini(zoneid_t zoneid, void *data)
 {
         struct nlm_globals *g = data;
 
+        nlm_globals_unregister(g);
+
         ASSERT(avl_is_empty(&g->nlm_hosts_tree));
         avl_destroy(&g->nlm_hosts_tree);
         mod_hash_destroy_idhash(g->nlm_hosts_hash);
 
         ASSERT(g->nlm_gc_thread == NULL);
@@ -111,11 +114,10 @@
         mutex_destroy(&g->lock);
         cv_destroy(&g->nlm_gc_sched_cv);
         cv_destroy(&g->nlm_gc_finish_cv);
         mutex_destroy(&g->clean_lock);
 
-        nlm_globals_unregister(g);
         kmem_free(g, sizeof (*g));
 }