Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Cargo.toml: restore upstream libc remote
My previous pull request was merged too early and contained
my own libc fork with outstanding pull requests. As the pull requests
are now merged, this commit restores the libc git repo.
|
|
My previous pull request was merged too early and contained
my own libc fork with outstanding pull requests. As the pull requests
are now merged, this commit restores the libc git repo.
|
|
add support for openat, fstatat, readlink, readlinkat
|
|
|
|
|
|
|
|
Actually mark mmap and related functions as `unsafe`
The nix::sys::mman::mmap documentation says
> Calls to mmap are inherently unsafe, so they must be made in an unsafe
block.
however, the function was not actually marked unsafe.
* `munmap` should also be `unsafe` for obvious reasons.
* `madvise` should be `unsafe` because of the `MADV_DONTNEED` flag.
* `mlock` was already marked `unsafe`
* `munlock` and `msync` don't strictly need to be `unsafe` despite
taking pointers AFAICT, but are marked `unsafe` for consistency and in
case they add additional flags in the future.
[breaking-change]
|
|
Add section headings, commenting out unused ones.
|
|
|
|
The nix::sys::mman::mmap documentation says
> Calls to mmap are inherently unsafe, so they must be made in an unsafe
block.
however, the function was not actually marked unsafe.
* `munmap` should also be `unsafe` for obvious reasons.
* `madvise` should be `unsafe` because of the MADV_DONTNEED flag.
* `mlock` was already marked `unsafe`
* `munlock` and `msync` don't strictly need to be `unsafe` despite
taking pointers AFAICT, but are marked `unsafe` for consistency and in
case they add additional flags in the future.
|
|
Remove revents from PollFd::new
I could've used a `0i16`here as well but I liked the better semantics of `empty()`.
|
|
Bump to v0.8.1-pre
|
|
revents is an output field so regardless of what value it is set to it
will be overwritten by many of the function calls that take a PollFd.
The only value that makes sense for the caller to pass in in
`EventFlags::empty()` so we just hardcode that instead of making the
caller do it.
|
|
|
|
Release v0.8.0
closes #519
|
|
closes #519
|
|
fcntl: Expose FcntlArg variants at the module level
This allows importing them directly from `nix::fcntl` which is more
ergonomic than needing to use them via `FcntlArg`.
|
|
This allows importing them directly from `nix::fcntl` which is more
ergonomic than needing to use them via `FcntlArg`.
|
|
fcntl: Support getting and setting pipe size on Linux
|
|
|
|
Improve AIO API
- Turn most `aio_*` functions into `AioCb` methods
- Add runtime checks to `AioCb` methods
- Implement `Drop` for `AioCb`
|
|
Update minimum rust version to 1.9.0
This is largely because of features used in `tempfile` from 1.8 and 1.9. This was tested locally, so we'll see what CI says.
This does bring up the issue of the CI testing in the `ci` folder. That specifies the rust version as 1.7.0, but then when I looked at the docker images they seemed to only support 1.10, so maybe someone can comment on whether anything should be done about those things.
|
|
|
|
Add ppoll()
This will currently fail CI, as the necessary changes haven't hit libc yet. That is tracked in rust-lang/libc#537. This does build on my computer using the changes tracked on that PR, so I'd appreciate any visual review of this code as it should be "done".
I also wanted to get this submitted so hopefully it'd be in the queue for the 0.8 release.
|
|
Remove EPOLLWAKEUP and SIGEV_THREAD_ID when cross-compiling to MIPS.
With this nix builds for mipsel-unknown-linux-gnu.
|
|
Added BaudRate enum for termios
Issue #514
Does not provide `BaudRate::EXTA` or `BaudRate::EXTB` constants. These seem to alias to `B19200` and `B38400` respectively and so break the 1:1 mapping needed by `From`. I don't know their historic use.
|
|
|
|
|
|
epoll: Use libc_bitflags for EpollFlags
This is possible now that EPOLLEXCLUSIVE was added to libc in
https://github.com/rust-lang/libc/pull/526
|
|
This is possible now that EPOLLEXCLUSIVE was added to libc in
https://github.com/rust-lang/libc/pull/526
|
|
Also, fix style bug in AIO tests
|
|
New baud constants landed in rust-lang/libc#530, we'll use them.
|
|
|
|
Issue #514
|
|
Specify Rust minimum version requirements
I think this is important for 2 reasons:
1) Users know if they can use this library
2) Developers know what Rust features they can use in merge requests
What this doesn't do is establish any kind of policy for raising the Rust requirements, which is something worth addressing in the near-future.
|
|
|
|
Fix the style for bitflags!
Prefer `libc_bitflags!` over `bitflags!`. Prefer `libc::CONSTANTS` over
writing the constant manually.
This makes #501 unnecessary, since upstream now contains the `O_TMPFILE` constant.
|
|
|
|
Fix unresolved name error when building with musl.
See: https://git.musl-libc.org/cgit/musl/tree/src/time/timer_create.c#n126
|
|
|
|
Prefer libc_bitflags! over bitflags!. Prefer libc::CONSTANTS over
writing the constant manually.
|
|
Implement major/minor macros, correct mkdev
It appears that the previous `mkdev` was based on the kernel headers (https://github.com/torvalds/linux/blob/v4.7/include/linux/kdev_t.h#L6) which (I guess) is the internal kernel dev_t. Scrolling down the file you can see some bitshifting operations to do conversions.
The new implementation(s) are based on [musl](http://git.musl-libc.org/cgit/musl/tree/include/sys/sysmacros.h?id=dbbb3734d8c0176feabd6c46e2e85bbc3b8a60af) and [glibc](https://github.molgen.mpg.de/git-mirror/glibc/blob/20003c49884422da7ffbc459cdeee768a6fee07b/sysdeps/unix/sysv/linux/sys/sysmacros.h#L38), which are in agreement about how dev_t should be handled.
(as it happens I suspect we could omit the shift by 32 since I don't see that in the kernel headers, but doesn't hurt to take the conservative route and mimic the libcs)
|
|
|
|
|
|
changelog: Add note for ptrace events (#438)
|
|
Update bitflags to 0.7
Brought to you by GNU sed.
|
|
|