Skip to content

Conversation

lunacd
Copy link
Contributor

@lunacd lunacd commented Apr 20, 2025

Currently, wait() returns 0 on windows regardless of the actual return code of processes.

Currently, wait() returns 0 on windows regardless
of the actual return code of processes.
@arun11299 arun11299 merged commit 04b015a into arun11299:master Apr 22, 2025
hebasto added a commit to hebasto/bitcoin that referenced this pull request Apr 22, 2025
hebasto added a commit to hebasto/bitcoin that referenced this pull request Apr 22, 2025
Comment on lines +1411 to +1416
DWORD dretcode_;

if (FALSE == GetExitCodeProcess(process_handle_, &dretcode_))
throw OSError("Failed during call to GetExitCodeProcess", 0);

return (int)dretcode_;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have two questions:

  1. Why not check that WaitForSingleObject returns WAIT_OBJECT_0?

  2. Why not close process_handle_?

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lunacd Can you please respond to the review questions whenever you get time ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not entirely sure on that part of the windows API. My fix was targeted at getting the return code, but both items sound like issues to follow up on too.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I created #114 for this. Feel free to assign that to me and I'll follow up on it when I got the time. #115 as well

@lunacd lunacd deleted the win-retcode branch April 24, 2025 22:15
hebasto pushed a commit to hebasto/bitcoin that referenced this pull request Apr 27, 2025
Currently, wait() returns 0 on windows regardless
of the actual return code of processes.

Github-Pull: arun11299/cpp-subprocess#109
Rebased-From: 04b015a8e52ead4d8bb5f0eb486419c77e418a17
hebasto pushed a commit to hebasto/bitcoin that referenced this pull request May 1, 2025
Currently, wait() returns 0 on windows regardless
of the actual return code of processes.

Github-Pull: arun11299/cpp-subprocess#109
Rebased-From: 04b015a8e52ead4d8bb5f0eb486419c77e418a17
hebasto added a commit to bitcoin/bitcoin that referenced this pull request May 5, 2025
cd95c9d subprocess: check and handle fcntl(F_GETFD) failure (Tomás Andróil)
b7288de subprocess: Proper implementation of wait() on Windows (Haowen Liu)
7423214 subprocess: Do not escape double quotes for command line arguments on Windows (Hennadii Stepanov)
bb9ffea subprocess: Explicitly define move constructor of Streams class (Shunsuke Shimizu)
174bd43 subprocess: Avoid leaking POSIX name aliases beyond `subprocess.h` (Hennadii Stepanov)
7997b76 subprocess: Fix cross-compiling with mingw toolchain (Hennadii Stepanov)
6476304 subprocess: Get Windows return code in wait() (Haowen Liu)
d3f511b subprocess: Fix string_arg when used with rref (Haowen Liu)
2fd3f2f subprocess: Fix memory leaks (Haoran Peng)

Pull request description:

  Most of these changes were developed during work on #29868 and #32342 and have since been upstreamed.

  As they are now merged, this PR backports them to our `src/util/subprocess.h` header.

  Required for #29868.

  A list of the backported PRs:
   - arun11299/cpp-subprocess#106
  - arun11299/cpp-subprocess#110
  - arun11299/cpp-subprocess#109
  - arun11299/cpp-subprocess#99
  - arun11299/cpp-subprocess#112
  - arun11299/cpp-subprocess#107
  - arun11299/cpp-subprocess#113
  - arun11299/cpp-subprocess#116
  - arun11299/cpp-subprocess#117

  The following PRs were skipped for backporting:
  - arun11299/cpp-subprocess#108 because we are not planning to support this feature.
  - arun11299/cpp-subprocess#101 because that change has been already landed in #29849.

ACKs for top commit:
  theStack:
    Light ACK cd95c9d
  laanwj:
    Code review re-ACK cd95c9d

Tree-SHA512: f9b60b932957d2e1cad1d87f2ad8bb68c97136e9735eb78547018a42cc50c4652750367f29462eadb0512c27db1dd8a7d4b17a2f0aeab62b3dbf86db5f51a61c
w0xlt pushed a commit to w0xlt/bitcoin that referenced this pull request May 7, 2025
Currently, wait() returns 0 on windows regardless
of the actual return code of processes.

Github-Pull: arun11299/cpp-subprocess#109
Rebased-From: 04b015a8e52ead4d8bb5f0eb486419c77e418a17
alexanderwiederin pushed a commit to alexanderwiederin/bitcoin that referenced this pull request May 8, 2025
Currently, wait() returns 0 on windows regardless
of the actual return code of processes.

Github-Pull: arun11299/cpp-subprocess#109
Rebased-From: 04b015a8e52ead4d8bb5f0eb486419c77e418a17
Eunovo pushed a commit to Eunovo/bitcoin that referenced this pull request May 12, 2025
Currently, wait() returns 0 on windows regardless
of the actual return code of processes.

Github-Pull: arun11299/cpp-subprocess#109
Rebased-From: 04b015a8e52ead4d8bb5f0eb486419c77e418a17
luke-jr pushed a commit to luke-jr/bitcoin that referenced this pull request Jun 6, 2025
Currently, wait() returns 0 on windows regardless
of the actual return code of processes.

Github-Pull: arun11299/cpp-subprocess#109
Rebased-From: 04b015a8e52ead4d8bb5f0eb486419c77e418a17

Github-Pull: bitcoin#32358
Rebased-From: 6476304
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.

3 participants