]> git.lizzy.rs Git - rust.git/commit
libnative: process spawning should not close inherited file descriptors
authorIvan Petkov <ivanppetkov@gmail.com>
Sun, 10 Aug 2014 21:10:34 +0000 (14:10 -0700)
committerIvan Petkov <ivanppetkov@gmail.com>
Wed, 13 Aug 2014 02:09:18 +0000 (19:09 -0700)
commit3fe0ba9afc7504ec01a778d8d72bd0b72fd013e1
tree6c4d6f3d3df5f2871f516469fdd3bce045d5c2e4
parent51c7e20d539eaed6e765612a02fbf2865e08a1bc
libnative: process spawning should not close inherited file descriptors

* The caller should be responsible for cleaning up file descriptors
* If a caller safely creates a file descriptor (via
  native::io::file::open) the returned structure (FileDesc) will try to
  clean up the file, failing in the process and writing error messages
  to the screen.
* This should not happen as the caller has no public interface for
  telling the FileDesc structure to NOT free the underlying fd.
* Alternatively, if another file is opened under the same fd held by
  the FileDesc structure returned by native::io::file::open, it will
  close the wrong file upon destruction.
src/libnative/io/process.rs
src/libstd/io/process.rs