Popen
class:
https://github.com/bitcoin/bitcoin/blob/0de63b8b46eff5cda85b4950062703324ba65a80/src/util/subprocess.hpp#L1009-L1020
Some of them are either not fully implemented (shell
, missing an implementation on Windows), implemented in an ugly way (e.g. using “Impoverished, meager, needy, truly needy version of type erasure” for preexec_func
according to the author’s own words) or simply unlikely to be ever needed for our external signer use-case (defer_spawn
). Instead of maintaining incomplete and/or unneeded code, I’d suggest to get rid of it and only keep support for options if there is a strong reason for it.