Age | Commit message (Collapse) | Author |
|
|
|
Previously, the `AioCb`'s `in_progress` field would erroneously be set
to `true`, even if the syscall had an error
Fixes #714
|
|
Printing a warning message to stderr isn't really appropriate, because
there's no way to guarantee that stderr is even valid. Nor is
aio_suspend necessarily an appropriate action to take.
|
|
746: Replace socket FFI with libc versions r=asomers a=Susurrus
Getting this up there to get some CI run on it. Replacing the `msghdr`, `cmsghdr`, and other FFI function declarations will be a little more involved so I wanted to run this through first.
|
|
750: Migrate quota module to libc FFI types r=asomers a=Susurrus
|
|
|
|
745: Use upstream libc definitions for fcntl FFI r=asomers a=Susurrus
|
|
|
|
749: Moved ptrace constants into enum types plus minor additions r=Susurrus a=xd009642
Reopening of #734 hence the branch name, changelog will be updated once the pr number of this new pull request is known.
|
|
|
|
Used the libc_enum! macro to create enums for the ptrace event, request, and libc_bitflags for options constants defined in libc.
Also, replicated functionality to move from c_int to PtraceEvent enum in PR #728 as it appears to be abandoned.
Added utility function for detaching from tracee. Updated names and removed ptrace::ptrace namespace
|
|
This module merely contained FFI declarations, and only enough to
implement memfd_create() and pivot_root() wrapper functions in
nix. Since these declarations are redundant with equivalent FFI
declarations in libc, we'll remove them here. In the future, any
syscall-related wrapper function will be implemented directly and
utilize libc for FFI declarations as we cannot generically expose
a type-safe `syscall()` because of its variadic argument list.
|
|
|
|
|
|
|
|
744: Mark and document pty::ptsname() as unsafe r=asomers a=nelsonjchen
On some platforms, `ptsname()` mutates global variables and mutating
global variables is always considered `unsafe` by Rust.
Reference:
https://github.com/nix-rust/nix/pull/742#issuecomment-324385919
|
|
732: Use libc definitions for wait module r=Susurrus a=Susurrus
Not certain if these are all correct yet, but we can reuse a ton of logic from `libc` within the `wait` module.
|
|
`ptsname()` mutates global variables and mutating global variables is
always considered `unsafe` by Rust.
Reference:
https://github.com/nix-rust/nix/pull/742#issuecomment-324385919
|
|
|
|
|
|
|
|
|
|
This adds fexecve() to `nix::unistd`. It is available in libc since 0.2.29.
Ref: http://pubs.opengroup.org/onlinepubs/9699919799/functions/fexecve.html
|
|
725: Match syntax of libc_bitflags! with bitflags! r=asomers
Also update a couple of constant declarations while we're at it.
|
|
700: Get rid of a lot of transmutes r=asomers
Most could be replaced by simple raw pointer casts (or even perfectly
safe coercions!).
cc #373
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes #244
|
|
Documentation for Whence.
|
|
Changed SeekData and SeekHole hardcoded values to libc ones and
added availability only to linux freebsd and dragonflybsd.
Removed impl Whence and assigned the libc values directly in the enum definition.
|
|
728: Use upstream libc ptrace FFI r=Susurrus
This might fail on Mac because of how libc defines ptrace on that platform, but we'll see!
731: Use upstream libc definitions in mman module r=asomers
|
|
|
|
701: Calculate `nfds` parameter for `select` r=asomers
Doing this behind the scenes makes the API less error-prone and easier
to use. It should also fix my issue in https://github.com/nix-rust/nix/issues/679#issuecomment-316838148
|
|
|
|
|
|
Most could be replaced by simple raw pointer casts (or even perfectly
safe coercions!).
cc #373
|
|
Doing this behind the scenes makes the API less error-prone and easier
to use. It should also fix https://github.com/nix-rust/nix/issues/679#issuecomment-316838148
|
|
709: Mark nix::sys::ptrace::ptrace as unsafe, add safe variants of some routines r=Susurrus
These include:
* PTRACE_TRACEME
* PTRACE_CONT
* PTRACE_ATTACH
* PTRACE_SYSCALL
This is a part of #666, which is being split up into a couple smaller PRs.
|
|
* Use upstream libc FFI declarations and constants
* Use more Rust-y interface of returning entire struct versus passing it as an
argument to (f)statvfs.
* Replace field accesses with accessor methods
* Flatten vfs module into parent
* Remove all non-libc-based interfaces for working with the statvfs struct
|
|
|
|
|
|
|
|
688: Support for OpenBSD r=Susurrus
Fixes #685
These changes get nix building on OpenBSD 6.1. There is one failing test that I want a little guidance on:
```
error[E0308]: mismatched types
--> src/sys/event.rs:333:30
|
333 | assert!(expected.data == actual.data());
| ^^^^^^^^^^^^^ expected i64, found isize
```
`KEvent::data` is:
```
pub fn data(&self) -> intptr_t {
self.kevent.data as intptr_t
}
```
I assume the test should be updated to cast to the expected type but wanted to confirm that before making the change.
|
|
722: Add a convenience method .pid() for WaitStatus. r=asomers
|
|
|