about summary refs log tree commit diff
path: root/src/libstd/rt/task.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstd/rt/task.rs')
-rw-r--r--src/libstd/rt/task.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/libstd/rt/task.rs b/src/libstd/rt/task.rs
index cf7c291d189..7e374fc6021 100644
--- a/src/libstd/rt/task.rs
+++ b/src/libstd/rt/task.rs
@@ -50,7 +50,7 @@ pub struct Task {
     heap: LocalHeap,
     priv gc: GarbageCollector,
     storage: LocalStorage,
-    logger: StdErrLogger,
+    logger: Option<StdErrLogger>,
     unwinder: Unwinder,
     taskgroup: Option<Taskgroup>,
     death: Death,
@@ -180,7 +180,7 @@ impl Task {
             heap: LocalHeap::new(),
             gc: GarbageCollector,
             storage: LocalStorage(None),
-            logger: StdErrLogger::new(),
+            logger: None,
             unwinder: Unwinder { unwinding: false, cause: None },
             taskgroup: None,
             death: Death::new(),
@@ -215,7 +215,7 @@ impl Task {
             heap: LocalHeap::new(),
             gc: GarbageCollector,
             storage: LocalStorage(None),
-            logger: StdErrLogger::new(),
+            logger: None,
             unwinder: Unwinder { unwinding: false, cause: None },
             taskgroup: None,
             death: Death::new(),
@@ -238,7 +238,7 @@ impl Task {
             heap: LocalHeap::new(),
             gc: GarbageCollector,
             storage: LocalStorage(None),
-            logger: StdErrLogger::new(),
+            logger: None,
             unwinder: Unwinder { unwinding: false, cause: None },
             taskgroup: None,
             // FIXME(#7544) make watching optional
@@ -320,6 +320,7 @@ impl Task {
                     }
                     None => {}
                 }
+                self.logger.take();
             }
         }