summaryrefslogtreecommitdiff
path: root/src/sys/event.rs
AgeCommit message (Collapse)Author
2023-02-09Rustier kqueue APIAlan Somers
* Prefer methods instead of functions. * Create a newtype for a kqueue. * Document everything. * Deprecate EVFILT_SENDFILE, because it was never fully implemented upstream. * Add support to the libc_enum! macro to be able to deprecate variants.
2022-12-11feat: I/O safety for 'sys/memfd' & 'sys/event' & 'sys/eventfd'Steve Lau
2022-11-06Reformat everythingAlex Saveau
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
2022-05-07Future-proof the kevent ABIAlan Somers
FreeBSD 12 changes struct kevent. For now, libc always binds to the 11-compat ABI. But that will change some day. Adjust Nix's code to build with either struct definition.
2022-01-16Remove EventFlag::EV_SYSFLAGRyan Zoeller
It is not stable across OpenBSD versions and is reserved by the system on FreeBSD and NetBSD.
2021-08-09Optionally implement TryFrom in libc_enum!Alan Somers
This saves code in several separate places that need to do this separately. At the same time, remove a few uses of mem::transmute that were implementing TryFrom or similar functionality. Issue #373
2021-07-24Mark most C-derived enums as non_exhaustiveAlan Somers
Since libc may add new variants at any time, Nix's consumers should not use exhaustive match patterns. Fixes #1182
2020-06-04Remove several deprecated constants and functionsAlan Somers
* `unistd::daemon` on Apple * `unistd::pipe2` on Apple * `sys::event::FilterFlag::NOTE_EXIT_REPARENTED` on Apple * `sys::event::FilterFlag::NOTE_REAP` on Apple * `sys::ptrace::ptrace` on Android and Linux All have been deprecated for more than two releases and one year.
2020-05-31Convert the crate to edition 2018Alan Somers
2020-05-26Fix use of deprecated libc type, needed in order to run the tests ↵Nick Pelone
successfully. This type was deprecated in libc 0.2.55.
2020-05-26Add EV_DISPATCH and EV_RECEIPT EventFlag items for OpenBSD.Nick Pelone
2019-09-19Where relevant, replace equality checks in assert! with assert_eq!Xavier L'Heureux
`assert_eq!` gives more debug info when the test fails by default than `assert!`. This should help make debugging easier.
2019-08-29Clippy cleanupAlan Somers
2019-06-09Add extra traits for all typesBryant Mairs
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.
2019-03-03Fix the build on OSX with libc 0.2.49Alan Somers
Several symbols are now marked as deprecated on OSX. Fix the build by marking these symbols' Nix wrappers as deprecated, too.
2018-02-12Add missing kqueue event filters on FreeBSDGreg V
2018-01-28Require Debug impls for all typesBryant Mairs
2018-01-28Deny unused qualificationsBryant Mairs
2017-12-20Make numeric literals easier to readBryant Mairs
2017-12-02Upgrade to Bitflags 1.0Bryant Mairs
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.
2017-11-11Alphabetize some target_os configurationsWolfgang Ginolas
2017-11-05Use libc_enum! where possibleWolfgang Ginolas
Some enums which use different names for values than libc still set the discriminators manually. closes #254
2017-11-05Fix kevent for netbsd filter datatypeBryant Mairs
The datatype for kevent.filter is u32 on NetBSD and i16 on all other supported platforms. This was recently fixed in upstream libc, breaking this API, so this fixes it. This change also modernizes the code a bit to unify the EventFilter datatype across platforms and switch to the libc_enum! macro.
2017-08-16Match libc_bitflags! syntax to upstream bitflags!Bryant Mairs
2017-08-05Fix tests on OpenBSDWesley Moore
There appears to be some interaction with test_pathconf_limited and another one when they are run in parallel, causing it to return ENOENT so the path has been changed from . to /.
2017-08-05Add OpenBSD compatibility to eventsWesley Moore
2017-07-19Remove c_int and c_void from rootBryant Mairs
These were exported for some weird reason and then left in for documentation. Also some parts of certain modules used them and others used the libc:: prefix. This was removed to improve the docs and also code consistency
2017-04-09Fixes nix-rust/nix#532Zac Berkowitz
2017-02-19Fix the style for bitflags!Mathias Svensson
Prefer libc_bitflags! over bitflags!. Prefer libc::CONSTANTS over writing the constant manually.
2017-02-16Update bitflags to 0.7Simon Sapin
2016-12-16Fix build on iOS platformConrad Kramer
2016-11-10Change KEvent to treat udata as an intptr_t instead of a uintptr_t.Alan Somers
This matches NetBSD's C definitions. Other operating systems define it as void*, despite not really being a pointer, but none actually define it as uintptr_t. Better to be right on NetBSD and wrong everywhere else than wrong everywhere. Plus, it's what mio expects.
2016-10-29Update comments and CHANGELOG for PR 442Alan Somers
2016-10-29impl Send for KEventAlan Somers
2016-10-02Use libc_bitflags! for EventFlagAlan Somers
Don't use it for FilterFlag, because it triggers recursion limit reached error
2016-09-18struct KEvent should wrap an inner libc::kevent structureAlan Somers
2016-09-08Remove macos NOTE_ definitions that aren't in libcAlan Somers
2016-09-08Reconcile with libc changesAlan Somers
The final version of libc's PR #379 removed a few definitions, and fixed OpenBSD's definition of fn kevent.
2016-09-02Define kqueue-related stuff in terms of libcAlan Somers
Change 11aa1f34243d5bbb7d6327a6607bd9d2530f3954 to libc added kqueue-related definitions. They are more accurate and more complete than nix's own definitions. Use them where possible. Also, rationalize Nix's definitions so its public API will be as similar as possible across all OSes.
2016-07-18Fix NetBSD buildTobias Bucher
2016-01-28Move errno::Result back to crate rootarcnmx
2016-01-28Errno::result()arcnmx
2015-12-03NetBSD tweaks for kqueue supportZachary Tong
2015-09-28sys/event: add kevent_ts to better expose kevent timeoutLuca Barbieri
This allows to specify no timeout and allows to specify any timespec timeout.
2015-09-09Add/Fix support for DragonFly BSDMichael Neumann
2015-08-12remove osx-specific Debug implCorey Richardson
2015-05-28Remove std::os::unix::io::RawFd re-exportCarl Lerche
2015-04-03'derive(Copy)' needs Clone nowFlorian Hartwig
2015-03-24NixResult -> nix::Result; NixError -> nix::ErrorCarl Lerche
2015-02-10Add `NixPath`, `NixError`, and `NixResult`.Utkarsh Kukreti