Age | Commit message (Collapse) | Author |
|
901: Implement sendfile on FreeBSD and Darwin r=Susurrus a=morrowa
This PR exposes the `sendfile` system call on libc's supported BSD-likes:
* FreeBSD
* Darwin (macOS/iOS)
DragonFly could be supported in the future, but I was unable to build rustc to test.
Note that NetBSD has no equivalent system call.
Co-authored-by: Andrew Morrow <andrew.d.morrow@gmail.com>
|
|
|
|
906: Fix bind() on Android 64-bit r=Susurrus a=Susurrus
libc fixed `bind()` for Android 64-bit targets, so change our
code to match.
PRs are failing (like #901) so let's get this merged.
CC @asomers @morrowa
Co-authored-by: Bryant Mairs <bryantmairs@google.com>
|
|
libc fixed `bind()` for Android 64-bit targets, so change our
code to match.
|
|
904: Typo r=asomers a=bestouff
Co-authored-by: Xavier Bestel <xavier.bestel@free.fr>
|
|
|
|
893: Remove IFF_NOTRAILERS for openbsd r=asomers a=kpcyrd
nix currently doesn't compile on openbsd because `IFF_NOTRAILERS` isn't found. This PR fixes the openbsd build again (tested on 6.3). It seems it was changed in this commit:
https://github.com/openbsd/src/commit/beb8b0dd5985e55a615b52e593da6e75bab33f3f
Co-authored-by: kpcyrd <git@rxv.cc>
|
|
897: Add documentation to signal-handling functions r=Susurrus a=zombiezen
Co-authored-by: Ross Light <light@google.com>
|
|
|
|
IFF_NOTRAILERS has been removed in OpenBSD 6.3
https://github.com/openbsd/src/commit/beb8b0dd5985e55a615b52e593da6e75bab33f3f
|
|
880: Update changelog for #869 r=Susurrus a=Detegr
Updated changelog to contain #869
Co-authored-by: Antti Keränen <detegr@gmail.com>
|
|
|
|
892: Fixed ptrace::Request cfg conditions r=asomers a=dalance
The cfg condition of ptrace::Request seems to be different from libc.
For example, PTRACE_GETREGS is defined by libc to i686-unknown-linux-gnu target, but it is not defined in ptrace::Request.
I tried to change the cfg condition to the same as libc's condition.
I thinks this change covers the definitions under src/unix/notbsd directory in libc repository.
Co-authored-by: dalance <dalance@gmail.com>
|
|
|
|
894: Add pselect syscall r=asomers a=antifuchs
I saw that #276 was closed, and now I need `pselect`, so here it is! I copied the function body from @abbradar's work, updated the type signatures, added two tests and added a doc comment.
Hope this works!
Co-authored-by: Andreas Fuchs <asf@boinkor.net>
|
|
This is a straight port of @abbradar's work in #276, with
two (somewhat weak) tests and a bit of documentation.
|
|
887: Implement Debug trait for PollFd (Fixes #885) r=asomers a=kccqzy
This is useful when using printf-style debugging to observe the variables and
of the program.
This is discussed in issue #885.
Co-authored-by: Zhouyu Qian <qzy@qzy.io>
|
|
This is useful when using printf-style debugging to observe the variables of
the program.
Also includes a test.
Fixes #885.
|
|
883: Expose `preadv` and `pwritev` on BSDs r=asomers a=morrowa
This addresses issue #690.
It exposes the `preadv` and `pwritev` functions on supported BSDs (not including Apple platforms).
Co-authored-by: Andrew Morrow <andrew.d.morrow@gmail.com>
|
|
|
|
882: Update CHANGELOG for #833 r=Susurrus a=Susurrus
Forgot to mention the big changes in #833 before it was merged.
Co-authored-by: Bryant Mairs <bryantmairs@google.com>
|
|
|
|
833: Refactor the ioctl API and documentation r=posborne a=Susurrus
I still need to flesh out the docs for the different `ioctl_*!` variants that now exist. I separated them into different macros so they can have their own docs, which should help discoverability. And when macro namespacing comes around this will be a pretty neatly documented API I think (though we'll likely want to rename these macros again at that point).
* Split `ioctl!` into separate macros. This makes documentation easier to read.
* Expose `request_code_*!` in the documentation to make the `ioctl_*_bad` macros easier to use.
* Reorganize the file hierarchy to be simpler
cc @gabrielesvelto @posborne @jethrogb
Co-authored-by: Bryant Mairs <bryantmairs@google.com>
|
|
While usually `ioctl()` passes a pointer, the function call has been
overloaded to allow integers to be passed. For some platforms this
is an `int` and on others it's a `ulong`.
Fixes #824.
|
|
ioctls on FreeBSD and DragonflyBSD have a separate request code generation
macro `_IOWINT` which is now exposed as `request_code_write_int`.
`ioctl_write_int` is also fixed on these platforms to use this new request
|
|
* Split `ioctl!` into separate macros. This makes documentation easier to read.
* For every `ioctl_*!` macro include a description of the macro arguments as, the
function prototype for the generated wrapper function, and an example if we have one.
* Expose `request_code_*!` in the documentation to make the `ioctl_*_bad` macros easier to use.
* Reorganize the file hierarchy to be simpler
|
|
872: Change sys::aio::lio_listio to sys::aio::LioCb::listio r=asomers a=asomers
The new LioCb structure allows us to control the exact arguments passed
to lio_listio, guaranteeing that each call gets a unique storage
location for the list argument. This prevents clients from misusing
lio_listio in a way that causes events to get dropped from a kqueue
Fixes #870
|
|
It helps deal with errors like EAGAIN, which can result in a subset of
an LioCb's operations being queued. The test is only enabled on
FreeBSD, because it requires intimate knowledge of AIO system limits.
|
|
876: add mlockall and munlockall r=asomers a=afck
Closes #875
|
|
877: Replace the gcc crate by cc r=asomers a=Eijebong
|
|
|
|
|
|
|
|
857: Add chmod, fchmod, fchmodat functions r=asomers a=antage
|
|
|
|
Supporting the bytes crate was unnecessarily specific. This change
replaces from_bytes and from_bytes_mut with from_boxed_slice and
from_boxed_mut_slice, which can work with anything that implements
Borrow<[u8]> and BorrowMut<[u8]>, respectively.
|
|
A double panic can screw up the first panic's stack trace. Better not
to assert! anything when the thread is already panicing.
|
|
The new LioCb structure allows us to control the exact arguments passed
to lio_listio, guaranteeing that each call gets a unique storage
location for the list argument. This prevents clients from misusing
lio_listio in a way that causes events to get dropped from a kqueue
Fixes #870
|
|
873: add SO_MARK SetSockOpt for Linux r=asomers a=mcginty
SO_MARK allows traffic to be filtered by a "tag" using fwmark (see: https://www.linux.org/docs/man8/tc-fw.html).
Tested on Linux as root - the test will skip over when not being run as root, as I noticed a few other tests do this in the suite already.
|
|
|
|
860: Update the release procedure r=asomers a=Susurrus
Be more explicit about the development version to specify after doing a release.
cc @nox
Closes #468
|
|
869: Change SigAction::flags to use from_bits_truncated r=asomers a=Detegr
On Linux, if the signal trampoline code is in the C library, sigaction
sets the SA_RESTORER flag (0x04000000) in the sa_flags field of old
sigaction (see sigreturn(2)).
This is not intended for application use and is missing from SaFlags,
therefore from_bits fails and unwrapping panics the user program.
This fix just drops the bits that are not defined in SaFlags.
|
|
On Linux, if the signal trampoline code is in the C library, sigaction
sets the SA_RESTORER flag (0x04000000) in the sa_flags field of old
sigaction (see sigreturn(2)).
This is not intended for application use and is missing from SaFlags,
therefore from_bits fails and unwrapping panics the user program.
This fix just drops the bits that are not defined in SaFlags.
|
|
825: FreeBSD: cfmakesane, EVFILT_* r=Susurrus a=myfreeweb
Depends on: https://github.com/rust-lang/libc/pull/887
|
|
Don't change the version in `Cargo.toml` after publishing to crates.io
as it's unnecessary extra manual work.
|
|
846: Export socket options related macros r=Susurrus a=mexus
In this PR I've added docs to that macros and exported them.
I've also made related structs/traits to be public as well.
Hope I didn't forget anything :)
Reference issue: #577.
|
|
|
|
|
|
|
|
|