Age | Commit message (Collapse) | Author |
|
1069: Implement copy_file_range() r=asomers a=ArniDagur
This should fix the problems with #971 and #1008.
Co-authored-by: Árni Dagur <arnidg@protonmail.ch>
|
|
|
|
1035: Implement extra traits for all types r=asomers a=Susurrus
Now that I've gotten all the extra traits implemented for `libc`, they can be easily derived for `nix`'s types. Note that this requires a bump to the minimum supported Rust version, but it's still at least 2 versions behind, so it fits in with policy.
One thing I did notice is that we have an inconsistent approach to our newtypes, where some use a struct and some a tuple struct. We should be consistent here, and should probably use a tuple struct since the name of the single field is irrelevant. This style is already suggested in our `CONVENTIONS.md` doc, so this should be uncontroversial. I'll file a PR after this is merged adding that.
Co-authored-by: Bryant Mairs <bryant@mai.rs>
|
|
This is a minor optimization that allows for reduced sizes of datatypes. Since this pointer
will never be NULL, it's safe to use here
|
|
Abstract paths should always be N-1 in length where N is the length of
the `sun_path` field (first byte is \0). Given that,
`UnixAddr::new_abstract()` should always return this N-1 length, not
just the length of the string provided (the rest of the array will be
\0s).
|
|
|
|
As this is now derived, having a test is unnecessary
|
|
Derive Clone, Copy, Eq, Hash, and PartialEq for all types. Not all
traits are supported by all types, which is why many are missing
some.
|
|
Also bump Rust requirement to 1.25 which is a requirement of that feature
|
|
1077: ifaddrs: add ifaddrs support for android r=asomers a=posborne
Support under bionic/android is the same as under Linux for what is exposed
by this code.
Co-authored-by: Paul Osborne <osbpau@gmail.com>
|
|
Support under bionic/android is the same as under Linux for what is exposed
by this code.
Signed-off-by: Paul Osborne <osbpau@gmail.com>
|
|
1079: socket: expose MSG_WAITALL in MsgFlags r=asomers a=stefano-garzarella
MSG_WAITALL can be useful with recv() to wait the full amount of data requested.
Co-authored-by: Stefano Garzarella <sgarzare@redhat.com>
|
|
MSG_WAITALL can be useful with recv() to wait the full amount of data
requested.
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
|
|
|
|
1081: Release v0.14.1 r=asomers a=asomers
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
|
|
|
|
1076: Miscellaneous test fixes r=asomers a=asomers
Miscellaneous fixes needed to get the tests working more reliably when --test-threads > 1 , or when run inside of Linux containers.
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
The rand team briefly published (and then yanked) release 0.7.0, which
raises the MSRV to 1.32.0, breaking some of our tests. This commit
restricts rand to < 0.7 so we won't run into that problem again.
|
|
|
|
This was an oversight from 974320d09fbd1fae79da537383c2144ed9aa4967
|
|
* kmod tests must run exclusively, because they load and unload a module
with a constant name.
* A few tests were doing some variant of chdir, but weren't taking the
CWD_MTX.
* The kmod tests read files by path relative to CWD, so they need the
CWD_MTX. But they don't need it exclusively, so convert the CWD_MTX
into an RwLock.
* Tests that do change the cwd need to change it back when they're done.
|
|
* On Linux, it requires the CAP_SYS_PACCT capability.
* Reenable the test on FreeBSD, because our FreeBSD CI environment is no
longer jailed (since we switched from BuildBot to CirrusCI), but check
at runtime whether the process is jailed.
* test_acct needs the FORK_MTX because it uses Command::new .
* Fix a race condition. acct(2) isn't synchronous. It starts a kernel
thread but does not wait for it to become ready. Fix it by running
the test command within the polling loop.
|
|
It's not sufficient to check for root privileges, because a
containerized process may have root's euid but still lack important
capabilities. Fix these tests by checking for the CAP_SYS_MOD
capability.
|
|
It's not sufficient to check for root privileges. In a container, the
euid may be root even though the user lacks some capabilities. Replace
this test's root check with a check for the CAP_NET_ADMIN capability
instead.
|
|
|
|
They've never been used, anyway.
|
|
|
|
1072: Fix libc deprecations r=asomers a=dario23
The `libc` crate now uses rust types in some places where previously types like `libc::uint8_t` had been defined. This PR adjusts nix's code to reflect these simplifications.
Co-authored-by: Johannes Schilling <dario@deaktualisierung.org>
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
There were some breaking changes between 0.2.55 and 0.2.57. Now Nix
will only work with the later version.
|
|
libc just changed the signedness of sigaction.sa_flags for Android.
https://github.com/rust-lang/libc/commit/841b3eb01644283c3c41ac1d1a2ddcec141f15f2
|
|
libc just undefined MADV_SOFT_OFFLINE on mips.
https://github.com/rust-lang/libc/pull/1365
Fixes #1074
|
|
On musl, pthread_t is a pointer type.
|
|
|
|
|
|
|
|
1066: Allow import of Linux macros in Rust2018 r=asomers a=Susurrus
Finish off the work started in 8c9ac5a70 allowing the use of macros
without needing to import local inner macros for Linux targets.
Co-authored-by: Bryant Mairs <bryant@mai.rs>
|
|
Finish off the work started in 8c9ac5a70 allowing the use of macros
without needing to import local inner macros.
|
|
1065: Update fcntl.rs r=asomers a=kubkon
Just a minor typo in the docs of `O_RDWR`. It read:
```
/// Allow both reading and writing.
///
/// This should not be combined with `O_WRONLY` or `O_RDWR`.
O_RDWR;
```
but I believe it should read
```
/// Allow both reading and writing.
///
/// This should not be combined with `O_WRONLY` or `O_RDONLY`.
O_RDWR;
```
instead :-)
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
|
|
Just a minor typo in the docs of `O_RDWR`. It read:
```
/// Allow both reading and writing.
///
/// This should not be combined with `O_WRONLY` or `O_RDWR`.
O_RDWR;
```
but I believe it should read
```
/// Allow both reading and writing.
///
/// This should not be combined with `O_WRONLY` or `O_RDONLY`.
O_RDWR;
```
instead :-)
|
|
1061: Release v0.14.0 r=asomers a=asomers
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
|
|
1050: Implement `sched_yield`. r=asomers a=sunfishcode
This adds the `sched_yield` function, which is part of POSIX:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/sched_yield.html
and widely implemented on Unix-family platforms.
Co-authored-by: Dan Gohman <sunfish@mozilla.com>
|
|
|
|
1054: Remove a redundant "use libc" r=asomers a=asomers
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
This adds the `sched_yield` function, which is part of POSIX:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/sched_yield.html
and widely implemented on Unix-family platforms.
|
|
|
|
1055: Fix build on arm and s390x after recent libc changes r=asomers a=asomers
libc just removed some symbols on linux/arm32 and linux/s390x that never
should've been defined in the first place.
https://github.com/rust-lang/libc/commit/24f8972b8d2d915b1687fc8197e1ed95e349a82e
https://github.com/rust-lang/libc/commit/d2695436ba5072078796c76f727a296e0f43caa6
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
libc just removed some symbols on linux/arm32 and linux/s390x that never
should've been defined in the first place.
https://github.com/rust-lang/libc/commit/24f8972b8d2d915b1687fc8197e1ed95e349a82e
https://github.com/rust-lang/libc/commit/d2695436ba5072078796c76f727a296e0f43caa6
|
|
1048: Restored the bytes field on RecvMsg r=asomers a=vdagonneau
This pull request restores the `bytes` field on the `RecvMsg` structure in order to be able to know the amount of bytes read during a call to `recvmsg`.
Co-authored-by: Vincent Dagonneau <vincentdagonneau@gmail.com>
|