* __scm.h (SCM_DEFER_INTS, SCM_ALLOW_INTS): New definitions.
[bpt/guile.git] / libguile / snarf.h
index 3b7f1e7..7d6902e 100644 (file)
@@ -203,33 +203,21 @@ SCM_SNARF_INIT(c_name = scm_permanent_object (scm_c_define (scheme_name, init_va
 SCM_SNARF_HERE(SCM c_name) \
 SCM_SNARF_INIT(c_name = scm_permanent_object (scm_c_define (scheme_name, init_val));)
 
-#define SCM_NONREC_CRITICAL_SECTION(prefix) \
-SCM_SNARF_HERE(static scm_t_mutex prefix ## _mutex) \
-SCM_SNARF_INIT(scm_i_plugin_mutex_init (&prefix ## _mutex, 0))
+#define SCM_MUTEX(c_name) \
+SCM_SNARF_HERE(static scm_t_mutex c_name) \
+SCM_SNARF_INIT(scm_i_plugin_mutex_init (&c_name, &scm_i_plugin_mutex))
 
-#define SCM_GLOBAL_NONREC_CRITICAL_SECTION(prefix) \
-SCM_SNARF_HERE(scm_t_mutex prefix ## _mutex) \
-SCM_SNARF_INIT(scm_i_plugin_mutex_init (&prefix ## _mutex, 0))
+#define SCM_GLOBAL_MUTEX(c_name) \
+SCM_SNARF_HERE(scm_t_mutex c_name) \
+SCM_SNARF_INIT(scm_i_plugin_mutex_init (&c_name, &scm_i_plugin_mutex))
 
-#define SCM_REC_CRITICAL_SECTION(prefix) \
-SCM_SNARF_HERE(\
-static scm_t_mutex prefix ## _mutex; \
-static int prefix ## _count; \
-static scm_thread *prefix ## _owner\
-)SCM_SNARF_INIT(\
-scm_i_plugin_mutex_init (&prefix ## _mutex, 0)\
-)
+#define SCM_REC_MUTEX(c_name) \
+SCM_SNARF_HERE(static scm_t_rec_mutex c_name) \
+SCM_SNARF_INIT(scm_i_plugin_rec_mutex_init (&c_name, &scm_i_plugin_rec_mutex))
 
-#define SCM_GLOBAL_REC_CRITICAL_SECTION(prefix) \
-SCM_SNARF_HERE(\
-scm_t_mutex prefix ## _mutex; \
-int prefix ## _count; \
-scm_thread *prefix ## _owner\
-)SCM_SNARF_INIT(\
-scm_i_plugin_mutex_init (&prefix ## _mutex, 0); \
-prefix ## _count = 0; \
-prefix ## _owner = 0\
-)
+#define SCM_GLOBAL_REC_MUTEX(c_name) \
+SCM_SNARF_HERE(scm_t_rec_mutex c_name) \
+SCM_SNARF_INIT(scm_i_plugin_mutex_init (&c_name, &scm_i_plugin_rec_mutex))
 
 #ifdef SCM_MAGIC_SNARF_DOCS
 #undef SCM_ASSERT