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

fixes #1827 Windows a deadlock on nng_close() #1828

Merged
merged 12 commits into from
May 30, 2024
Merged

Commits on May 22, 2024

  1. Configuration menu
    Copy the full SHA
    4fe1b2b View commit details
    Browse the repository at this point in the history
  2. Another attempt at the close deadlock, fix use-after-free.

    When closing pipes, we defer them to be reaped, but also leave
    them in the match list where they might be picked up by ep_match,
    or leak.  It's best to reap these proactively and ensure that they
    are not allowed to life longer once they have errored during the
    negotiation phase.
    gdamore committed May 22, 2024
    Configuration menu
    Copy the full SHA
    6d15cae View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    429440a View commit details
    Browse the repository at this point in the history

Commits on May 26, 2024

  1. windows: drop the hEvent initialization for win_io structures.

    We use overlapped I/O, so we don't need a separate hEvent.
    gdamore committed May 26, 2024
    Configuration menu
    Copy the full SHA
    7ad9e94 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2024

  1. windows: fix TCP use-after-free in listener

    The logic with overlapped structures was fragile as it used
    overlapped ios for the connections rather than a single common
    one for the listener.  This changes it to be more like POSIX, and
    robust against this error.
    gdamore committed May 27, 2024
    Configuration menu
    Copy the full SHA
    afceee1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    153b346 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6d30eb2 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2024

  1. Configuration menu
    Copy the full SHA
    76e2d45 View commit details
    Browse the repository at this point in the history
  2. fix for pipe statistic crash

    gdamore committed May 28, 2024
    Configuration menu
    Copy the full SHA
    04c48ab View commit details
    Browse the repository at this point in the history
  3. Safer initialization of aios

    gdamore committed May 28, 2024
    Configuration menu
    Copy the full SHA
    57b4650 View commit details
    Browse the repository at this point in the history
  4. Free SP protocol streams before discarding aio objects.

    This seems to alleviate the use after free crashes, although it
    does not seem like it should.  Current theory is that this closes
    the handle ensuring that it is unregistered from the I/O subsystem,
    thus preventing callbacks from firing and referring to objects that
    have been freed.
    gdamore committed May 28, 2024
    Configuration menu
    Copy the full SHA
    9b1f8e8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4c08f96 View commit details
    Browse the repository at this point in the history