Skip to content

std: Refactor process exit code handling slightly #29462

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

Merged
merged 1 commit into from
Nov 7, 2015

Conversation

alexcrichton
Copy link
Member

  • Store the native representation directly in the ExitStatus structure instead
    of a "parsed version" (mostly for Unix).
  • On Windows, be more robust against processes exiting with the status of 259.
    Unfortunately this exit code corresponds to STILL_ACTIVE, causing libstd to
    think the process was still alive, causing an infinite loop. Instead the loop
    is removed altogether and WaitForSingleObject is used to wait for the
    process to exit.

@rust-highfive
Copy link
Contributor

r? @brson

(rust_highfive has picked a reviewer for you, use r? to override)

@aturon
Copy link
Member

aturon commented Nov 5, 2015

@bors: r+

@bors
Copy link
Collaborator

bors commented Nov 5, 2015

📌 Commit 76fb2f5 has been approved by aturon

@bors
Copy link
Collaborator

bors commented Nov 6, 2015

⌛ Testing commit 76fb2f5 with merge 9798c14...

@bors
Copy link
Collaborator

bors commented Nov 6, 2015

💔 Test failed - auto-win-msvc-64-opt

@alexcrichton
Copy link
Member Author

@bors: r=aturon bd032ba

@bors
Copy link
Collaborator

bors commented Nov 6, 2015

⌛ Testing commit bd032ba with merge f561cdf...

@bors
Copy link
Collaborator

bors commented Nov 6, 2015

💔 Test failed - auto-win-msvc-32-opt

* Store the native representation directly in the `ExitStatus` structure instead
  of a "parsed version" (mostly for Unix).
* On Windows, be more robust against processes exiting with the status of 259.
  Unfortunately this exit code corresponds to `STILL_ACTIVE`, causing libstd to
  think the process was still alive, causing an infinite loop. Instead the loop
  is removed altogether and `WaitForSingleObject` is used to wait for the
  process to exit.
@alexcrichton
Copy link
Member Author

@bors: r=aturon 94aee5b

bors added a commit that referenced this pull request Nov 6, 2015
* Store the native representation directly in the `ExitStatus` structure instead
  of a "parsed version" (mostly for Unix).
* On Windows, be more robust against processes exiting with the status of 259.
  Unfortunately this exit code corresponds to `STILL_ACTIVE`, causing libstd to
  think the process was still alive, causing an infinite loop. Instead the loop
  is removed altogether and `WaitForSingleObject` is used to wait for the
  process to exit.
@bors
Copy link
Collaborator

bors commented Nov 6, 2015

⌛ Testing commit 94aee5b with merge 6dbd250...

@bors bors merged commit 94aee5b into rust-lang:master Nov 7, 2015
@alexcrichton alexcrichton deleted the refactor-process-ret branch January 21, 2016 01:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants