Fix so that Python inherits file handles again on Windows.

The behavior was changed in go 1.17 so that only explicitly-specified
handles are inherited by subprocesses. Unfortunately, we have no
special knowledge of what handles the caller is attempting to pass to
the Python process, so we want to transparently pass everything
through.

This reverts to the previous behavior, mostly by copying the
1.16 implementation.

Bug: 1340653
Change-Id: I30302ffe2d661aa625e559385d5cfed7af731ef9
Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/luci-go/+/3739699
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Brian Ryner <bryner@google.com>
Reviewed-by: Chenlin Fan <fancl@chromium.org>
1 file changed
tree: cfbc85e990dacfe81df420bf96536eb3e3ae7d0b
  1. appengine/
  2. auth/
  3. auth_service/
  4. build/
  5. buildbucket/
  6. casviewer/
  7. cipd/
  8. client/
  9. cmdrunner/
  10. common/
  11. config/
  12. cv/
  13. deploy/
  14. examples/
  15. gae/
  16. gce/
  17. grpc/
  18. hacks/
  19. hardcoded/
  20. led/
  21. logdog/
  22. luci_notify/
  23. lucicfg/
  24. lucictx/
  25. luciexe/
  26. mailer/
  27. milo/
  28. mmutex/
  29. provenance/
  30. resultdb/
  31. scheduler/
  32. scripts/
  33. server/
  34. starlark/
  35. swarming/
  36. tokenserver/
  37. tools/
  38. vpython/
  39. web/
  40. .gitallowed
  41. .gitattributes
  42. .golangci.yml
  43. AUTHORS
  44. codereview.settings
  45. CONTRIBUTING.md
  46. CONTRIBUTORS
  47. go.mod
  48. go.sum
  49. LICENSE
  50. OWNERS
  51. PRESUBMIT.py
  52. README.md
  53. tools.go
  54. WATCHLISTS
README.md

luci-go: LUCI services and tools in Go

GoDoc

Installing

LUCI Go code is meant to be worked on from an Chromium infra.git checkout, which enforces packages versions and Go toolchain version. First get fetch via depot_tools.git then run:

fetch infra
cd infra/go
eval `./env.py`
cd src/go.chromium.org/luci

Contributing

Contributing uses the same flow as Chromium contributions.