From ecd08b989ae006660929bce6b719d9f7bc34a7fe Mon Sep 17 00:00:00 2001 From: Nick Desaulniers Date: Sat, 1 Jun 2013 18:19:16 -0700 Subject: [PATCH] Swap return value of pipes::init Fixes #4501 --- src/libstd/comm.rs | 12 ++++----- src/libstd/pipes.rs | 8 +++--- src/libsyntax/ext/pipes/pipec.rs | 31 +++++----------------- src/test/bench/msgsend-ring-pipes.rs | 4 +-- src/test/bench/pingpong.rs | 12 ++++----- src/test/run-pass/issue-2834.rs | 2 +- src/test/run-pass/issue-2930.rs | 2 +- src/test/run-pass/pipe-detect-term.rs | 4 +-- src/test/run-pass/pipe-peek.rs | 2 +- src/test/run-pass/pipe-pingpong-bounded.rs | 4 +-- src/test/run-pass/pipe-pingpong-proto.rs | 2 +- src/test/run-pass/pipe-select.rs | 22 +++++++-------- src/test/run-pass/pipe-sleep.rs | 6 ++--- 13 files changed, 47 insertions(+), 64 deletions(-) diff --git a/src/libstd/comm.rs b/src/libstd/comm.rs index a376a715976..f0c353c8d62 100644 --- a/src/libstd/comm.rs +++ b/src/libstd/comm.rs @@ -376,7 +376,7 @@ mod pipesy { priv use core::kinds::Owned; use ptr::to_mut_unsafe_ptr; - pub fn init() -> (client::Oneshot, server::Oneshot) { + pub fn init() -> (server::Oneshot, client::Oneshot) { pub use core::pipes::HasBuffer; let buffer = ~::core::pipes::Buffer { @@ -466,7 +466,7 @@ mod pipesy { /// Initialiase a (send-endpoint, recv-endpoint) oneshot pipe pair. pub fn oneshot() -> (PortOne, ChanOne) { - let (chan, port) = oneshot::init(); + let (port, chan) = oneshot::init(); (PortOne::new(port), ChanOne::new(chan)) } @@ -550,7 +550,7 @@ mod pipesy { pub mod streamp { priv use core::kinds::Owned; - pub fn init() -> (client::Open, server::Open) { + pub fn init() -> (server::Open, client::Open) { pub use core::pipes::HasBuffer; ::core::pipes::entangle() } @@ -567,7 +567,7 @@ mod pipesy { ::core::option::Option> { { use super::data; - let (c, s) = ::core::pipes::entangle(); + let (s, c) = ::core::pipes::entangle(); let message = data(x_0, s); if ::core::pipes::send(pipe, message) { ::core::pipes::rt::make_some(c) @@ -579,7 +579,7 @@ mod pipesy { pub fn data(pipe: Open, x_0: T) -> Open { { use super::data; - let (c, s) = ::core::pipes::entangle(); + let (s, c) = ::core::pipes::entangle(); let message = data(x_0, s); ::core::pipes::send(pipe, message); c @@ -615,7 +615,7 @@ mod pipesy { */ pub fn stream() -> (Port, Chan) { - let (c, s) = streamp::init(); + let (s, c) = streamp::init(); (Port { endp: Some(s) diff --git a/src/libstd/pipes.rs b/src/libstd/pipes.rs index 9607d395151..365e192da66 100644 --- a/src/libstd/pipes.rs +++ b/src/libstd/pipes.rs @@ -237,11 +237,11 @@ pub fn packet() -> *mut Packet { pub fn entangle_buffer( mut buffer: ~Buffer, init: &fn(*libc::c_void, x: &mut T) -> *mut Packet) - -> (SendPacketBuffered, RecvPacketBuffered) { + -> (RecvPacketBuffered, SendPacketBuffered) { unsafe { let p = init(transmute_copy(&buffer), &mut buffer.data); forget(buffer); - (SendPacketBuffered(p), RecvPacketBuffered(p)) + (RecvPacketBuffered(p), SendPacketBuffered(p)) } } @@ -775,9 +775,9 @@ pub fn RecvPacketBuffered(p: *mut Packet) } } -pub fn entangle() -> (SendPacket, RecvPacket) { +pub fn entangle() -> (RecvPacket, SendPacket) { let p = packet(); - (SendPacket(p), RecvPacket(p)) + (RecvPacket(p), SendPacket(p)) } /** Receives a message from one of two endpoints. diff --git a/src/libsyntax/ext/pipes/pipec.rs b/src/libsyntax/ext/pipes/pipec.rs index db0efdd7b0f..83cafcd8a6a 100644 --- a/src/libsyntax/ext/pipes/pipec.rs +++ b/src/libsyntax/ext/pipes/pipec.rs @@ -89,10 +89,10 @@ impl gen_send for message { } else { let pat = match (this.dir, next.dir) { - (send, send) => "(c, s)", - (send, recv) => "(s, c)", - (recv, send) => "(s, c)", - (recv, recv) => "(c, s)" + (send, send) => "(s, c)", + (send, recv) => "(c, s)", + (recv, send) => "(c, s)", + (recv, recv) => "(s, c)" }; body += fmt!("let %s = ::std::pipes::entangle();\n", pat); @@ -317,30 +317,13 @@ impl gen_init for protocol { let start_state = self.states[0]; let body = if !self.is_bounded() { - match start_state.dir { - send => quote_expr!( ::std::pipes::entangle() ), - recv => { - quote_expr!({ - let (s, c) = ::std::pipes::entangle(); - (c, s) - }) - } - } + quote_expr!( ::std::pipes::entangle() ) } else { - let body = self.gen_init_bounded(ext_cx); - match start_state.dir { - send => body, - recv => { - quote_expr!({ - let (s, c) = $body; - (c, s) - }) - } - } + self.gen_init_bounded(ext_cx) }; - cx.parse_item(fmt!("pub fn init%s() -> (client::%s, server::%s)\ + cx.parse_item(fmt!("pub fn init%s() -> (server::%s, client::%s)\ { pub use std::pipes::HasBuffer; %s }", start_state.generics.to_source(cx), start_state.to_ty(cx).to_source(cx), diff --git a/src/test/bench/msgsend-ring-pipes.rs b/src/test/bench/msgsend-ring-pipes.rs index 21753f5f331..2cc9e8882c7 100644 --- a/src/test/bench/msgsend-ring-pipes.rs +++ b/src/test/bench/msgsend-ring-pipes.rs @@ -73,7 +73,7 @@ fn main() { let num_tasks = uint::from_str(args[1]).get(); let msg_per_task = uint::from_str(args[2]).get(); - let (num_chan, num_port) = ring::init(); + let (num_port, num_chan) = ring::init(); let mut num_chan = Cell(num_chan); let start = time::precise_time_s(); @@ -83,7 +83,7 @@ fn main() { for uint::range(1u, num_tasks) |i| { //error!("spawning %?", i); - let (new_chan, num_port) = ring::init(); + let (num_port, new_chan) = ring::init(); let num_chan2 = Cell(num_chan.take()); let num_port = Cell(num_port); let new_future = do future::spawn || { diff --git a/src/test/bench/pingpong.rs b/src/test/bench/pingpong.rs index 382de68ba57..9a8c0656e84 100644 --- a/src/test/bench/pingpong.rs +++ b/src/test/bench/pingpong.rs @@ -83,11 +83,11 @@ endpoint is passed to the new task. */ pub fn spawn_service( - init: extern fn() -> (SendPacketBuffered, - RecvPacketBuffered), + init: extern fn() -> (RecvPacketBuffered, + SendPacketBuffered), service: ~fn(v: RecvPacketBuffered)) -> SendPacketBuffered { - let (client, server) = init(); + let (server, client) = init(); // This is some nasty gymnastics required to safely move the pipe // into a new task. @@ -104,11 +104,11 @@ receive state. */ pub fn spawn_service_recv( - init: extern fn() -> (RecvPacketBuffered, - SendPacketBuffered), + init: extern fn() -> (SendPacketBuffered, + RecvPacketBuffered), service: ~fn(v: SendPacketBuffered)) -> RecvPacketBuffered { - let (client, server) = init(); + let (server, client) = init(); // This is some nasty gymnastics required to safely move the pipe // into a new task. diff --git a/src/test/run-pass/issue-2834.rs b/src/test/run-pass/issue-2834.rs index 579c4f9f1d1..5d3a2d2331c 100644 --- a/src/test/run-pass/issue-2834.rs +++ b/src/test/run-pass/issue-2834.rs @@ -18,7 +18,7 @@ proto! streamp ( ) fn rendezvous() { - let (c, s) = streamp::init(); + let (s, c) = streamp::init(); let streams: ~[streamp::client::open] = ~[c]; error!("%?", streams[0]); diff --git a/src/test/run-pass/issue-2930.rs b/src/test/run-pass/issue-2930.rs index 6d22a2ea5ed..cfce19826d7 100644 --- a/src/test/run-pass/issue-2930.rs +++ b/src/test/run-pass/issue-2930.rs @@ -15,7 +15,7 @@ proto! stream ( ) pub fn main() { - let (bc, _bp) = stream::init(); + let (_bp, bc) = stream::init(); stream::client::send(bc, ~"abc"); } diff --git a/src/test/run-pass/pipe-detect-term.rs b/src/test/run-pass/pipe-detect-term.rs index ae846217318..a347fde422c 100644 --- a/src/test/run-pass/pipe-detect-term.rs +++ b/src/test/run-pass/pipe-detect-term.rs @@ -31,7 +31,7 @@ proto! oneshot ( pub fn main() { let iotask = &uv::global_loop::get(); - let (chan, port) = oneshot::init(); + let (port, chan) = oneshot::init(); let port = Cell(port); do spawn { match try_recv(port.take()) { @@ -47,7 +47,7 @@ pub fn main() { // Make sure the right thing happens during failure. fn failtest() { - let (c, p) = oneshot::init(); + let (p, c) = oneshot::init(); do task::spawn_with(c) |_c| { fail!(); diff --git a/src/test/run-pass/pipe-peek.rs b/src/test/run-pass/pipe-peek.rs index 149e81204f4..8d8c96c6f51 100644 --- a/src/test/run-pass/pipe-peek.rs +++ b/src/test/run-pass/pipe-peek.rs @@ -22,7 +22,7 @@ proto! oneshot ( ) pub fn main() { - let mut (c, p) = oneshot::init(); + let mut (p, c) = oneshot::init(); assert!(!pipes::peek(&mut p)); diff --git a/src/test/run-pass/pipe-pingpong-bounded.rs b/src/test/run-pass/pipe-pingpong-bounded.rs index d36289f33c8..8a0589f55ea 100644 --- a/src/test/run-pass/pipe-pingpong-bounded.rs +++ b/src/test/run-pass/pipe-pingpong-bounded.rs @@ -30,7 +30,7 @@ mod pingpong { pong: Packet, } - pub fn init() -> (client::ping, server::ping) { + pub fn init() -> (server::ping, client::ping) { let buffer = ~Buffer { header: BufferHeader(), data: Packets { @@ -112,7 +112,7 @@ mod test { } pub fn main() { - let (client_, server_) = ::pingpong::init(); + let (server_, client_) = ::pingpong::init(); let client_ = Cell(client_); let server_ = Cell(server_); do task::spawn { diff --git a/src/test/run-pass/pipe-pingpong-proto.rs b/src/test/run-pass/pipe-pingpong-proto.rs index 18cb4059307..c993dafa489 100644 --- a/src/test/run-pass/pipe-pingpong-proto.rs +++ b/src/test/run-pass/pipe-pingpong-proto.rs @@ -50,7 +50,7 @@ mod test { } pub fn main() { - let (client_, server_) = pingpong::init(); + let (server_, client_) = pingpong::init(); let client_ = Cell(client_); let server_ = Cell(server_); diff --git a/src/test/run-pass/pipe-select.rs b/src/test/run-pass/pipe-select.rs index 309092b14b5..8e28d3d12d9 100644 --- a/src/test/run-pass/pipe-select.rs +++ b/src/test/run-pass/pipe-select.rs @@ -35,11 +35,11 @@ proto! stream ( ) pub fn spawn_service( - init: extern fn() -> (SendPacketBuffered, - RecvPacketBuffered), + init: extern fn() -> (RecvPacketBuffered, + SendPacketBuffered), service: ~fn(v: RecvPacketBuffered)) -> SendPacketBuffered { - let (client, server) = init(); + let (server, client) = init(); // This is some nasty gymnastics required to safely move the pipe // into a new task. @@ -83,8 +83,8 @@ pub fn main() { } }); - let (c1, p1) = oneshot::init(); - let (_c2, p2) = oneshot::init(); + let (p1, c1) = oneshot::init(); + let (p2, _c2) = oneshot::init(); let c = send(c, (p1, p2)); @@ -92,8 +92,8 @@ pub fn main() { signal(c1); - let (_c1, p1) = oneshot::init(); - let (c2, p2) = oneshot::init(); + let (p1, _c1) = oneshot::init(); + let (p2, c2) = oneshot::init(); send(c, (p1, p2)); @@ -105,8 +105,8 @@ pub fn main() { } fn test_select2() { - let (ac, ap) = stream::init(); - let (bc, bp) = stream::init(); + let (ap, ac) = stream::init(); + let (bp, bc) = stream::init(); stream::client::send(ac, 42); @@ -119,8 +119,8 @@ fn test_select2() { error!("done with first select2"); - let (ac, ap) = stream::init(); - let (bc, bp) = stream::init(); + let (ap, ac) = stream::init(); + let (bp, bc) = stream::init(); stream::client::send(bc, ~"abc"); diff --git a/src/test/run-pass/pipe-sleep.rs b/src/test/run-pass/pipe-sleep.rs index 97fefde6cff..a6a81229e28 100644 --- a/src/test/run-pass/pipe-sleep.rs +++ b/src/test/run-pass/pipe-sleep.rs @@ -34,11 +34,11 @@ endpoint is passed to the new task. */ pub fn spawn_service( - init: extern fn() -> (SendPacketBuffered, - RecvPacketBuffered), + init: extern fn() -> (RecvPacketBuffered, + SendPacketBuffered), service: ~fn(v: RecvPacketBuffered)) -> SendPacketBuffered { - let (client, server) = init(); + let (server, client) = init(); // This is some nasty gymnastics required to safely move the pipe // into a new task.