about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Atashian <retep998@gmail.com>2015-01-19 05:55:15 -0500
committerPeter Atashian <retep998@gmail.com>2015-01-19 05:55:15 -0500
commitabccfa4018a407bbe80e8acd0f83c023664ea49a (patch)
tree03a288f5c05fb28e9139dd1bdebd8a95cbfc0b69
parentbd8a43c668ba93d29e9671c0c8dc6b67428bf492 (diff)
downloadrust-abccfa4018a407bbe80e8acd0f83c023664ea49a.tar.gz
rust-abccfa4018a407bbe80e8acd0f83c023664ea49a.zip
Impl Send for Timer on Windows
Fixes #20943

Signed-off-by: Peter Atashian <retep998@gmail.com>
-rw-r--r--src/libstd/io/timer.rs6
-rw-r--r--src/libstd/sys/windows/timer.rs2
2 files changed, 7 insertions, 1 deletions
diff --git a/src/libstd/io/timer.rs b/src/libstd/io/timer.rs
index 844a97dea2d..68ae7d0ff20 100644
--- a/src/libstd/io/timer.rs
+++ b/src/libstd/io/timer.rs
@@ -228,6 +228,12 @@ mod test {
     use time::Duration;
 
     #[test]
+    fn test_timer_send() {
+        let mut timer = Timer::new().unwrap();
+        Thread::spawn(move || timer.sleep(Duration::milliseconds(1)));
+    }
+
+    #[test]
     fn test_io_timer_sleep_simple() {
         let mut timer = Timer::new().unwrap();
         timer.sleep(Duration::milliseconds(1));
diff --git a/src/libstd/sys/windows/timer.rs b/src/libstd/sys/windows/timer.rs
index 1ae3979cd9a..12b4e56bf52 100644
--- a/src/libstd/sys/windows/timer.rs
+++ b/src/libstd/sys/windows/timer.rs
@@ -48,9 +48,9 @@ pub enum Req {
     RemoveTimer(libc::HANDLE, Sender<()>),
 }
 
+unsafe impl Send for Timer {}
 unsafe impl Send for Req {}
 
-
 fn helper(input: libc::HANDLE, messages: Receiver<Req>, _: ()) {
     let mut objs = vec![input];
     let mut chans = vec![];