summary refs log tree commit diff
path: root/src/rt/rust_cc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/rt/rust_cc.cpp')
-rw-r--r--src/rt/rust_cc.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/rt/rust_cc.cpp b/src/rt/rust_cc.cpp
index 1b5890358c9..4befb36d819 100644
--- a/src/rt/rust_cc.cpp
+++ b/src/rt/rust_cc.cpp
@@ -1,6 +1,7 @@
 // Rust cycle collector. Temporary, but will probably stick around for some
 // time until LLVM's GC infrastructure is more mature.
 
+#include "rust_debug.h"
 #include "rust_gc.h"
 #include "rust_internal.h"
 #include "rust_shape.h"
@@ -434,14 +435,8 @@ do_cc(rust_task *task) {
 
 void
 maybe_cc(rust_task *task) {
-    // FIXME: We ought to lock this.
-    static int zeal = -1;
-    if (zeal == -1) {
-        char *ev = getenv("RUST_CC_ZEAL");
-        zeal = ev && ev[0] != '\0' && ev[0] != '0';
-    }
-
-    if (zeal)
+    static debug::flag zeal("RUST_CC_ZEAL");
+    if (*zeal)
         do_cc(task);
 }