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

Command: Support posix_spawn() on FreeBSD/OSX/GNU Linux #48624

Merged
merged 19 commits into from
Mar 23, 2018

Commits on Feb 28, 2018

  1. Configuration menu
    Copy the full SHA
    518b3f7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    11696ac View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f463386 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    94630e4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8e3fa0d View commit details
    Browse the repository at this point in the history
  6. Remove excess newline

    bdrewery committed Feb 28, 2018
    Configuration menu
    Copy the full SHA
    b3ecf5f View commit details
    Browse the repository at this point in the history
  7. Support posix_spawn() for FreeBSD.

    spawn() is expected to return an error if the specified file could not be
    executed.  FreeBSD's posix_spawn() supports returning ENOENT/ENOEXEC if
    the exec() fails, which not all platforms support.  This brings a very
    significant performance improvement for FreeBSD, involving heavy use of
    Command in threads, due to fork() invoking jemalloc fork handlers and
    causing lock contention.  FreeBSD's posix_spawn() avoids this problem
    due to using vfork() internally.
    bdrewery committed Feb 28, 2018
    Configuration menu
    Copy the full SHA
    85b82f2 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2018

  1. Configuration menu
    Copy the full SHA
    e6efd0d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a9ea876 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2e2d926 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ef73b3a View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2018

  1. Use _

    bdrewery committed Mar 2, 2018
    Configuration menu
    Copy the full SHA
    99b50ef View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5ba6b3a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d740083 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2018

  1. Configuration menu
    Copy the full SHA
    57c74c3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    00dac20 View commit details
    Browse the repository at this point in the history
  3. Don't use posix_spawn() if PATH was modified in the environment.

    The expected behavior is that the environment's PATH should be used
    to find the process.  posix_spawn() could be used if we iterated
    PATH to search for the binary to execute.  For now just skip
    posix_spawn() if PATH is modified.
    bdrewery committed Mar 19, 2018
    Configuration menu
    Copy the full SHA
    6212904 View commit details
    Browse the repository at this point in the history
  4. Simplify PATH key comparison

    bdrewery committed Mar 19, 2018
    Configuration menu
    Copy the full SHA
    8e0faf7 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2018

  1. Configuration menu
    Copy the full SHA
    70559c5 View commit details
    Browse the repository at this point in the history