about summary refs log tree commit diff
path: root/src/libcore/rt/message_queue.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcore/rt/message_queue.rs')
-rw-r--r--src/libcore/rt/message_queue.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/libcore/rt/message_queue.rs b/src/libcore/rt/message_queue.rs
index 014e71d3de6..eaab9288ac8 100644
--- a/src/libcore/rt/message_queue.rs
+++ b/src/libcore/rt/message_queue.rs
@@ -14,6 +14,7 @@ use vec::OwnedVector;
 use cell::Cell;
 use option::*;
 use unstable::sync::{Exclusive, exclusive};
+use clone::Clone;
 
 pub struct MessageQueue<T> {
     // XXX: Another mystery bug fixed by boxing this lock
@@ -41,4 +42,12 @@ impl<T: Owned> MessageQueue<T> {
             }
         }
     }
-}
\ No newline at end of file
+}
+
+impl<T> Clone for MessageQueue<T> {
+    fn clone(&self) -> MessageQueue<T> {
+        MessageQueue {
+            queue: self.queue.clone()
+        }
+    }
+}