summary refs log tree commit diff
path: root/src/libnative/io/file.rs
AgeCommit message (Collapse)AuthorLines
2014-01-06Don't read forever on a file descriptorAlex Crichton-4/+4
Similarly to the recent commit to do this for networking, there's no reason that a read on a file descriptor should continue reading until the entire buffer is full. This makes sense when dealing with literal files, but when dealing with things like stdin this doesn't make sense.
2014-01-05Handle EINTR throughout libnativeAlex Crichton-41/+59
Closes #11214
2013-12-27Implement native TCP I/OAlex Crichton-3/+5
2013-12-27Bring native process bindings up to dateAlex Crichton-3/+6
Move the tests into libstd, use the `iotest!` macro to test both native and uv bindings, and use the cloexec trick to figure out when the child process fails in exec.
2013-12-24native: Add tests and cleanup entry pointsAlex Crichton-2/+1
This adds a few smoke tests associated with libnative tasks (not much code to test here anyway), and cleans up the entry points a little bit to be a little more like libgreen. The I/O code doesn't need much testing because that's all tested in libstd (with the iotest! macro).
2013-12-24native: Introduce libnativeAlex Crichton-0/+958
This commit introduces a new crate called "native" which will be the crate that implements the 1:1 runtime of rust. This currently entails having an implementation of std::rt::Runtime inside of libnative as well as moving all of the native I/O implementations to libnative. The current snag is that the start lang item must currently be defined in libnative in order to start running, but this will change in the future. Cool fact about this crate, there are no extra features that are enabled. Note that this commit does not include any makefile support necessary for building libnative, that's all coming in a later commit.