Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change sys::aio::lio_listio to sys::aio::LioCb::listio #872

Merged
merged 4 commits into from
Apr 7, 2018

Commits on Mar 22, 2018

  1. Change sys::aio::lio_listio to sys::aio::LioCb::listio

    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 nix-rust#870
    asomers committed Mar 22, 2018
    Configuration menu
    Copy the full SHA
    4bdbf59 View commit details
    Browse the repository at this point in the history
  2. Fix an annoying double panic

    A double panic can screw up the first panic's stack trace.  Better not
    to assert! anything when the thread is already panicing.
    asomers committed Mar 22, 2018
    Configuration menu
    Copy the full SHA
    6703bc8 View commit details
    Browse the repository at this point in the history
  3. Replace AioCb::from_bytes with more generic from_boxed_slice

    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.
    asomers committed Mar 22, 2018
    Configuration menu
    Copy the full SHA
    4729935 View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2018

  1. Add LioCb::listio_resubmit

    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.
    asomers committed Apr 7, 2018
    Configuration menu
    Copy the full SHA
    4b769a4 View commit details
    Browse the repository at this point in the history