Corey Farwell
86fc63e62d
Implement fmt::Debug for all structures in libstd.
...
Part of https://github.com/rust-lang/rust/issues/31869 .
Also turn on the `missing_debug_implementations` lint at the crate
level.
2016-12-18 14:55:14 -08:00
Guillaume Gomez
2938e6a411
Add missing doc examples for UnixDatagram
2016-12-16 11:14:16 +01:00
Aaron Turon
65b144c964
Stabilize std::os::unix::process::CommandExt::before_exec
2016-12-15 10:56:55 -08:00
Aaron Turon
df26a5a958
Stabilize std::os::*::fs::FileExt
2016-12-15 10:56:55 -08:00
Jeremy Soller
7e7775ce7b
Merge branch 'master' into redox
2016-12-12 14:55:09 -07:00
bors
51d29343c0
Auto merge of #38197 - mneumann:dragonfly-fixes-2016-12-06, r=alexcrichton
...
Fix current_exe() on DragonFly (again)
This is a follow up on [this pull request][1].
Since DragonFly 4.6.1 ([this commit][2]), the ```kern.proc.pathname```
sysctl works correctly, i.e. it does not return paths including a ```:```
(see [here][3]). Use it and don't try to fix old versions of DragonFly!
There are not many DragonFly installations out there that we can't
control and no one is compiling Rust from source. If someone wants to
run Rust on a pre-4.6.1 DragonFly system, the ports system should
provide a patch.
[1]: https://github.com/rust-lang/rust/pull/35494
[2]: https://gitweb.dragonflybsd.org/dragonfly.git/commit/726f7ca07e193db73635e9c4e24e40c96087d6d9
[3]: https://gist.github.com/mneumann/a2f6b6a0a03935b561d6185872a4b222
2016-12-09 15:45:41 +00:00
Guillaume Gomez
a78a33c52a
Add Incoming doc examples
2016-12-08 09:43:38 -08:00
Guillaume Gomez
c35b9f6703
Add UnixListener doc examples
2016-12-08 09:43:38 -08:00
Guillaume Gomez
7fe17f96d5
Add doc examples for UnixStream
2016-12-08 09:43:33 -08:00
Guillaume Gomez
9976f5f7c5
Add missing doc examples for SocketAddr struct
2016-12-08 09:38:43 -08:00
bors
816a34aca2
Auto merge of #38146 - kali:master, r=alexcrichton
...
fix objc ABI in std::env::args
iOS use different calling convention for `objc_msgSend` depending on the platform. armv7 expect good old variadic arguments, but aarch64 wants "normal" convention: `objc_msgSend` has to be called mimicking the actual callee prototype.
https://developer.apple.com/library/content/documentation/General/Conceptual/CocoaTouch64BitGuide/ConvertingYourAppto64-Bit/ConvertingYourAppto64-Bit.html#//apple_ref/doc/uid/TP40013501-CH3-SW26
This currently breaks std::env:args() on aarch64 iOS devices. As far as I can tell, in the standard library, this is the only occurrence of ObjectiveC dispatching.
2016-12-08 07:05:19 +00:00
Michael Neumann
dfd3b908f5
Fix current_exe() on DragonFly (again)
...
This is a follow up on [this pull request][1].
Since DragonFly 4.6.1 ([this commit][2]), the "kern.proc.pathname"
sysctl works correctly, i.e. it does not return paths including a ":"
(see [here][3]). Use it and don't try to fix old versions of DragonFly!
There are not many DragonFly installations out there that we can't
control and no one is compiling Rust from source. If someone wants to
run Rust on a pre-4.6.1 DragonFly system, the ports system should
provide a patch.
[1]: https://github.com/rust-lang/rust/pull/35494
[2]: https://gitweb.dragonflybsd.org/dragonfly.git/commit/726f7ca07e193db73635e9c4e24e40c96087d6d9
[3]: https://gist.github.com/mneumann/a2f6b6a0a03935b561d6185872a4b222
2016-12-06 19:31:48 +01:00
Guillaume Gomez
b5ea8c00a3
Fix small typo
2016-12-04 00:48:11 -08:00
Mathieu Poumeyrol
a1882ca769
fix objc ABI in std::env::args
2016-12-03 19:47:27 +01:00
bors
af0a0719ea
Auto merge of #37936 - tedsta:fuchsia_std_process, r=alexcrichton
...
Fuchsia support for std::process via liblaunchpad.
Now we can launch processes on Fuchsia via the Rust standard library! ... Mostly.
Right now, ~5% of the time, reading the stdout/stderr off the pipes will fail. Some Magenta kernel people think it's probably a bug in Magenta's pipes. I wrote a unit test that demonstrates the issue in C, which I was told will expedite a fix. https://fuchsia-review.googlesource.com/#/c/15628/
Hopefully this can get merged once the issue is fixed :)
@raphlinus
2016-12-02 07:35:06 +00:00
Theodore DeRego
e1b752b2a1
std::process fuchsia support cleanup
2016-12-01 12:01:07 -08:00
Theodore DeRego
8d9d07a1ca
Removed Option<ExitStatus> member from fuchsia Process struct. Destroy launchpads and close handles in Drop impls rather than manually
2016-11-30 14:20:44 -08:00
Jeremy Soller
e68393397a
Commit to fix make tidy
2016-11-28 21:07:26 -07:00
Jeremy Soller
1d0bba8224
Move stdout/err flush into sys
2016-11-28 18:25:47 -07:00
Theodore DeRego
5c1c48532f
Separated fuchsia-specific process stuff into 'process_fuchsia.rs' and refactored out some now-duplicated code into a 'process_common.rs'
2016-11-23 13:58:13 -08:00
Theodore DeRego
fae86b92de
Cleaned up and appeased the linter
2016-11-22 16:08:48 -08:00
Theodore DeRego
5c23f2e3c8
Fuchsia support for std::process via liblaunchpad.
2016-11-22 12:12:46 -08:00
Steven Allen
1aaca5f290
Add a method for setting permissions directly on an open file.
...
On unix like systems, the underlying file corresponding to any given path may
change at any time. This function makes it possible to set the permissions of
the a file corresponding to a `File` object even if its path changes.
2016-11-22 08:42:28 -08:00
Raph Levien
fe953dc16e
std: Track change to cprng syscall signature (Fuchsia)
...
The mx_cprng_draw syscall has changed signature to separate the status
and size return values, rather than multiplexing them into a single
value with errors interpreted as a negative value. This patch tracks
that change.
2016-11-04 13:04:27 -07:00
Brian Anderson
f3a709dc52
std: Move platform-specific out of sys_common::util
2016-11-01 17:08:24 +00:00
Brian Anderson
6d54cd4b2c
std: Move a plattform-specific constant to sys::stdio
2016-11-01 17:08:24 +00:00
Brian Anderson
568840707c
std: Move elf TLS to sys::fast_thread_local
2016-11-01 17:08:24 +00:00
bors
17e9d9ae82
Auto merge of #37385 - raphlinus:fuchsia_random, r=alexcrichton
...
Add support for kernel randomness for Fuchsia
Wire up cprng syscall as provider for rand::os::OsRng on Fuchsia.
2016-10-28 21:31:26 -07:00
Raph Levien
592d7bfb3a
Add support for kernel randomness for Fuchsia
...
Wire up cprng syscall as provider for rand::os::OsRng on Fuchsia.
2016-10-24 16:48:45 -07:00
Raph Levien
69d7884a1d
Fix tidy warning
...
Prefer FIXME to TODO
2016-10-22 07:08:07 -07:00
Raph Levien
773a5f59e9
Fix missing DirEntryExt::ino
...
The DirEntryExt::ino() implementation was omitted from the first
iteration of this patch, because a dependency needed to be
configured. The fix is straightforward enough.
2016-10-22 07:08:07 -07:00
Raph Levien
76bac5d33e
Add Fuchsia support
...
Adds support for the x86_64-unknown-fuchsia target, which covers the
Fuchsia operating system.
2016-10-22 07:08:06 -07:00
David Henningsson
e4ed345b2c
impl Debug for ReadDir
...
It is good practice to implement Debug for public types, and
indicating what directory you're reading seems useful.
Signed-off-by: David Henningsson <diwic@ubuntu.com >
2016-10-16 20:42:55 +02:00
bors
e1b67776db
Auto merge of #35704 - tbu-:pr_pread_pwrite, r=alexcrichton
...
Implement `read_offset` and `write_offset`
These functions allow to read from and write to a file from multiple
threads without changing the per-file cursor, avoiding the race between
the seek and the read.
2016-10-14 19:33:04 -07:00
Tobias Bucher
15549935f8
Android: Fix unused-imports warning
2016-10-14 23:02:47 +02:00
Tobias Bucher
94aa08b66c
Only use Android fallback for {ftruncate,pread,pwrite} on 32 bit
2016-10-14 14:19:41 +02:00
Tobias Bucher
744aecf793
Remove unnecessary unsafe block
2016-10-12 13:06:55 +02:00
Tobias Bucher
2eda01ee43
Fix Android compilation io::Error -> io::ErrorKind
2016-10-11 12:16:35 +02:00
Mathieu Poumeyrol
14f9cbdfd5
use MSG_NOSIGNAL on all relevant platforms
2016-10-09 13:01:29 +02:00
Tobias Bucher
70dcfd634e
Use try_into and move some functions
2016-10-09 10:49:05 +02:00
Tobias Bucher
f352f0eec0
Dynamically detect presence of p{read,write}64 on Android
2016-10-09 10:48:07 +02:00
Tobias Bucher
b3f2644b66
Implement reading and writing atomically at certain offsets
...
These functions allow to read from and write to a file in one atomic
action from multiple threads, avoiding the race between the seek and the
read.
The functions are named `{read,write}_at` on non-Windows (which don't
change the file cursor), and `seek_{read,write}` on Windows (which
change the file cursor).
2016-10-09 10:48:07 +02:00
Tobias Bucher
717d2ddca7
Use less size_t casts in libstd since it's now defined as usize
2016-10-08 15:48:28 +02:00
bors
3210fd5c20
Auto merge of #36944 - brson:modos, r=alexcrichton
...
Fix mod declarations on untested platforms
r? @alexcrichton
2016-10-05 09:14:02 -07:00
Manish Goregaokar
d25aeb0ef1
Rollup merge of #36902 - ollie27:stab_impls, r=alexcrichton
...
std: Correct stability attributes for some implementations
These are displayed by rustdoc so should be correct.
2016-10-04 15:24:02 +05:30
Brian Anderson
2e7f796e58
Fix mod declarations on untested platforms
2016-10-03 22:29:03 +00:00
Brian Anderson
4d76ac8492
Move platform-specific arg handling to sys::args
2016-10-02 14:52:30 -07:00
Oliver Middleton
06a7dcd355
std: Correct stability attributes for some implementations
...
These are displayed by rustdoc so should be correct.
2016-10-01 23:58:14 +01:00
Brian Anderson
d311079a6f
std: Move platform specific stdio code into sys
2016-10-01 19:33:02 +00:00
Brian Anderson
fea1bd4cdf
std: Move platform specific memchr code into sys
2016-10-01 19:33:02 +00:00