mozilla/rust — pull request #8008 by bblum (2013-07-23 20:13:44+00:00)
Title: Select on newrt pipes

Main logic in ```Implement select() for new runtime pipes.```. The guts of the ```PortOne::try_recv()``` implementation are now split up across several functions, ```optimistic_check```, ```block_on```, and ```

There are two weird FIXMEs I left open here, in the "implement select" commit. One is an assertion I couldn't get to work in the receive path, on an invariant that for some reason doesn't hold with ```SharedPort```. The other is in ```UnsafeArc::cloneN()```, in which I couldn't optimize away a second xadd for unknown reasons. Still investigating these.