Age | Commit message (Collapse) | Author |
|
807: Switch to libc definitons of errno constants r=Susurrus a=Susurrus
Still need to do OpenBSD and NetBSD. Primary goal with this first pass is to see what doesn't exist properly in `libc`.
Closes #487.
|
|
777: Use the real pipe2(2) on most targets r=asomers a=asomers
FreeBSD added pipe2(2) in version 10.0.
|
|
All supported non-Apple platforms now use the native syscall. Only ios
and macos lack it. Deprecate pipe2 on those platforms, because it's
impossible to guarantee atomicity with a userland implementation. It
was added in:
* DragonflyBSD 4.2
* FreeBSD 10.0
* NetBSD 6.0
* OpenBSD 5.7
|
|
|
|
Now that these constants are verified within libc,
these tests are no longer necessary.
|
|
This was doing testing for errno constants and a few other
types that is no longer necessary now that these types are
all tested within the libc project itself.
|
|
|
|
696: Stop reexporting `Errno` variants r=Susurrus a=jonas-schievink
Closes #664 (unsure if this is everything needed)
|
|
cc #664 (unsure if this is everything needed)
|
|
667: Add support for getifaddrs. r=asomers a=mwanner
Here's a first attempt at a rustian interface for `getifaddrs`, please review.
Changes for the changelog:
- Added `nix::ifaddrs::{getifaddrs, InterfaceAddressIterator,
InterfaceAddress and InterfaceFlags}`
Closes #650.
Closes #764.
|
|
|
|
801: Upgrade to Bitflags 1.0 r=asomers a=Susurrus
The libc_bitflags! macro was replaced with a non-recursive one supporting
only public structs. I could not figure out how to make the old macro work
with the upgrade, so I reworked part of the bitflags! macro directly to suit
our needs, much as the original recursive macro was made. There are no uses
of this macro for non-public structs, so this is not a problem for internal code.
Closes #766.
|
|
The libc_bitflags! macro was replaced with a non-recursive one supporting
only public structs. I could not figure out how to make the old macro work
with the upgrade, so I reworked part of the bitflags! macro directly to suit
our needs, much as the original recursive macro was made. There are no uses
of this macro for non-public structs, so this is not a problem for internal code.
|
|
805: Fix epoll bug in release mode on Rust 1.20+ r=Susurrus a=Susurrus
Seems to have occurred within a Rust release after 1.13, so let's test all of them since then!
|
|
|
|
When passing None as an argument to `epoll_ctl`, UB is elicited within
the `Into<&EpollEvent>` impl because it passes a null pointer as a
`&mut EpollEvent`. Instead we remove that implementation completely and
handle this case directly within the `epoll_ctl` function.
Thanks to Arnavion for helping to debug this.
|
|
804: bump lazy_static to 1 r=Susurrus a=ignatenkobrain
|
|
|
|
800: unistd: add execveat() on Linux and Android r=Susurrus a=lucab
This adds execveat() to `nix::unistd`. It uses the execveat(2) Linux
kernel syscall, which is available since 3.19.
This is a Linux-specific extension which is not covered by POSIX and
does not have any userland libc wrapper.
Ref: http://man7.org/linux/man-pages/man2/execveat.2.html
|
|
This adds execveat() to `nix::unistd`. It uses the execveat(2) Linux
kernel syscall, which is available since 3.19.
This is a Linux-specific extension which is not covered by POSIX and
does not have any userland libc wrapper.
Ref: http://man7.org/linux/man-pages/man2/execveat.2.html
|
|
785: sys/socket: add UnixAddr abstract name getter r=asomers a=lucab
This introduces an `as_abstract()` getter to `UnixAddr` in order to
retrieve the name of an abstract unix socket.
This also adds tests around abstract addresses and clarify docs,
adding explicit semantics.
|
|
This introduces an `as_abstract()` getter to `UnixAddr` in order to
retrieve the name of an abstract unix socket.
This also adds tests around abstract addresses and clarify docs,
adding explicit semantics.
|
|
798: More libc ffi r=Susurrus a=Susurrus
Blocking on rust-lang/libc#850 for Android support.
|
|
|
|
Bitrig is in the process of re-merging with OpenBSD as is no longer
actively developed. Additionally it was never tested, and probably
was quite broken, for nix. So let's remove all references and not
even pretend to support it.
|
|
797: Remove deploy.sh r=asomers a=Susurrus
This script is a remnant from when generating docs was part of the
publishing process. With docs.rs generating docs for all packages,
this is no longer necessary.
Additionally this script has been incorrect for a long time since
nix moved from carllerche/nix to nix-rust/nix.
|
|
This script is a remnant from when generating docs was part of the
publishing process. With docs.rs generating docs for all packages,
this is no longer necessary.
Additionally this script has been incorrect for a long time since
nix moved from carllerche/nix to nix-rust/nix.
|
|
795: Use sh as interpreter r=asomers a=dereckson
No bash-specific feature is used, so deploy script will work
in every POSIX OS, even when bash isn't installed.
|
|
No bash-specific feature is used, so deploy script will work
in every POSIX OS, even when bash isn't installed.
|
|
733: unistd: Add getgroups, setgroups, getgrouplist, initgroups r=Susurrus a=JayH5
|
|
|
|
|
|
|
|
Don't need to call as_c_str()
|
|
Fix groups mutex name
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
568: Add process_vm_readv and process_vm_writev r=asomers a=geofft
|
|
787: Omit invalid waitpid flags on OpenBSD r=Susurrus a=worr
OpenBSD doesn't have `WEXITED`, `WSTOPPED`, or `WNOWAIT`, so omit those
from that platform.
|
|
|
|
OpenBSD doesn't have `WEXITED`, `WSTOPPED`, or `WNOWAIT`, so omit those
from that platform.
|
|
792: Use libc_enum! where possible r=Susurrus a=wginolas
Some enums which use different names for values than libc still set the
discriminators manually.
closes #254
|
|
|
|
|