[go] os: terminate windows processes via handle directly

155 views
Skip to first unread message

Jason A. Donenfeld (Gerrit)

unread,
May 25, 2021, 10:27:10 AM5/25/21
to goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

Jason A. Donenfeld has uploaded this change for review.

View Change

os: terminate windows processes via handle directly

We already have a handle to the process, so use that for termination,
rather than the more race-prone PID method, which is heavier since it
opens a new handle too.

Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
---
M src/os/exec_windows.go
1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/src/os/exec_windows.go b/src/os/exec_windows.go
index 5710401..ee1e4fb 100644
--- a/src/os/exec_windows.go
+++ b/src/os/exec_windows.go
@@ -45,16 +45,6 @@
return &ProcessState{p.Pid, syscall.WaitStatus{ExitCode: ec}, &u}, nil
}

-func terminateProcess(pid, exitcode int) error {
- h, e := syscall.OpenProcess(syscall.PROCESS_TERMINATE, false, uint32(pid))
- if e != nil {
- return NewSyscallError("OpenProcess", e)
- }
- defer syscall.CloseHandle(h)
- e = syscall.TerminateProcess(h, uint32(exitcode))
- return NewSyscallError("TerminateProcess", e)
-}
-
func (p *Process) signal(sig Signal) error {
handle := atomic.LoadUintptr(&p.handle)
if handle == uintptr(syscall.InvalidHandle) {
@@ -64,7 +54,8 @@
return ErrProcessDone
}
if sig == Kill {
- err := terminateProcess(p.Pid, 1)
+ e := syscall.TerminateProcess(syscall.Handle(handle), 1)
+ err := NewSyscallError("TerminateProcess", e)
runtime.KeepAlive(p)
return err
}

To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
Gerrit-Change-Number: 322509
Gerrit-PatchSet: 1
Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
Gerrit-MessageType: newchange

Jason A. Donenfeld (Gerrit)

unread,
May 25, 2021, 10:28:12 AM5/25/21
to goph...@pubsubhelper.golang.org, Alex Brainman, Brad Fitzpatrick, golang-co...@googlegroups.com

Attention is currently required from: Alex Brainman, Brad Fitzpatrick.

Patch set 1:Run-TryBot +1Trust +1

View Change

    To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: go
    Gerrit-Branch: master
    Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
    Gerrit-Change-Number: 322509
    Gerrit-PatchSet: 1
    Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
    Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
    Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
    Gerrit-Reviewer: Jason A. Donenfeld <Ja...@zx2c4.com>
    Gerrit-Attention: Alex Brainman <alex.b...@gmail.com>
    Gerrit-Attention: Brad Fitzpatrick <brad...@golang.org>
    Gerrit-Comment-Date: Tue, 25 May 2021 14:28:05 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    Gerrit-MessageType: comment

    Jason A. Donenfeld (Gerrit)

    unread,
    Jun 1, 2021, 12:38:35 PM6/1/21
    to goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

    Attention is currently required from: Jason A. Donenfeld, Alex Brainman, Brad Fitzpatrick.

    Jason A. Donenfeld uploaded patch set #2 to this change.

    View Change

    os: terminate windows processes via handle directly

    We already have a handle to the process, so use that for termination,
    rather than doing a new lookup based on the PID.


    Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
    ---
    M src/os/exec_windows.go
    1 file changed, 8 insertions(+), 12 deletions(-)

    To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: go
    Gerrit-Branch: master
    Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
    Gerrit-Change-Number: 322509
    Gerrit-PatchSet: 2
    Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
    Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
    Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
    Gerrit-Reviewer: Go Bot <go...@golang.org>
    Gerrit-Reviewer: Jason A. Donenfeld <Ja...@zx2c4.com>
    Gerrit-Attention: Jason A. Donenfeld <Ja...@zx2c4.com>
    Gerrit-Attention: Alex Brainman <alex.b...@gmail.com>
    Gerrit-Attention: Brad Fitzpatrick <brad...@golang.org>
    Gerrit-MessageType: newpatchset

    Jason A. Donenfeld (Gerrit)

    unread,
    Jun 1, 2021, 12:38:43 PM6/1/21
    to goph...@pubsubhelper.golang.org, Go Bot, Alex Brainman, Brad Fitzpatrick, golang-co...@googlegroups.com

    Attention is currently required from: Alex Brainman, Brad Fitzpatrick.

    Patch set 2:Run-TryBot +1Trust +1

    View Change

      To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: go
      Gerrit-Branch: master
      Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
      Gerrit-Change-Number: 322509
      Gerrit-PatchSet: 2
      Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
      Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
      Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
      Gerrit-Reviewer: Go Bot <go...@golang.org>
      Gerrit-Reviewer: Jason A. Donenfeld <Ja...@zx2c4.com>
      Gerrit-Attention: Alex Brainman <alex.b...@gmail.com>
      Gerrit-Attention: Brad Fitzpatrick <brad...@golang.org>
      Gerrit-Comment-Date: Tue, 01 Jun 2021 16:38:38 +0000

      Jason A. Donenfeld (Gerrit)

      unread,
      Jun 1, 2021, 12:48:06 PM6/1/21
      to goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

      Attention is currently required from: Alex Brainman, Brad Fitzpatrick.

      Jason A. Donenfeld uploaded patch set #3 to this change.

      View Change

      os: terminate windows processes via handle directly

      We already have a handle to the process, so use that for termination,
      rather than doing a new lookup based on the PID.

      Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
      ---
      M src/os/exec_windows.go
      1 file changed, 8 insertions(+), 12 deletions(-)

      To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: go
      Gerrit-Branch: master
      Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
      Gerrit-Change-Number: 322509
      Gerrit-PatchSet: 3
      Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
      Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
      Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
      Gerrit-Reviewer: Go Bot <go...@golang.org>
      Gerrit-Reviewer: Jason A. Donenfeld <Ja...@zx2c4.com>
      Gerrit-Attention: Alex Brainman <alex.b...@gmail.com>
      Gerrit-Attention: Brad Fitzpatrick <brad...@golang.org>
      Gerrit-MessageType: newpatchset

      Jason A. Donenfeld (Gerrit)

      unread,
      Jun 1, 2021, 12:48:20 PM6/1/21
      to goph...@pubsubhelper.golang.org, Go Bot, Alex Brainman, Brad Fitzpatrick, golang-co...@googlegroups.com

      Attention is currently required from: Alex Brainman, Brad Fitzpatrick.

      Patch set 3:Run-TryBot +1Trust +1

      View Change

        To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
        Gerrit-Change-Number: 322509
        Gerrit-PatchSet: 3
        Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
        Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
        Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
        Gerrit-Reviewer: Go Bot <go...@golang.org>
        Gerrit-Reviewer: Jason A. Donenfeld <Ja...@zx2c4.com>
        Gerrit-Attention: Alex Brainman <alex.b...@gmail.com>
        Gerrit-Attention: Brad Fitzpatrick <brad...@golang.org>
        Gerrit-Comment-Date: Tue, 01 Jun 2021 16:48:14 +0000

        Jason A. Donenfeld (Gerrit)

        unread,
        Jun 1, 2021, 1:00:39 PM6/1/21
        to goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

        Attention is currently required from: Jason A. Donenfeld, Alex Brainman, Brad Fitzpatrick.

        Jason A. Donenfeld uploaded patch set #4 to this change.

        View Change

        os: terminate windows processes via handle directly

        We already have a handle to the process, so use that for termination,
        rather than doing a new lookup based on the PID.

        Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
        ---
        M src/os/exec_windows.go
        1 file changed, 8 insertions(+), 12 deletions(-)

        To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
        Gerrit-Change-Number: 322509
        Gerrit-PatchSet: 4
        Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
        Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
        Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
        Gerrit-Reviewer: Go Bot <go...@golang.org>
        Gerrit-Reviewer: Jason A. Donenfeld <Ja...@zx2c4.com>
        Gerrit-Attention: Jason A. Donenfeld <Ja...@zx2c4.com>
        Gerrit-Attention: Alex Brainman <alex.b...@gmail.com>
        Gerrit-Attention: Brad Fitzpatrick <brad...@golang.org>
        Gerrit-MessageType: newpatchset

        Jason A. Donenfeld (Gerrit)

        unread,
        Jun 1, 2021, 1:00:51 PM6/1/21
        to goph...@pubsubhelper.golang.org, Go Bot, Alex Brainman, Brad Fitzpatrick, golang-co...@googlegroups.com

        Attention is currently required from: Alex Brainman, Brad Fitzpatrick.

        Patch set 4:Run-TryBot +1Trust +1

        View Change

          To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: go
          Gerrit-Branch: master
          Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
          Gerrit-Change-Number: 322509
          Gerrit-PatchSet: 4
          Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
          Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
          Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
          Gerrit-Reviewer: Go Bot <go...@golang.org>
          Gerrit-Reviewer: Jason A. Donenfeld <Ja...@zx2c4.com>
          Gerrit-Attention: Alex Brainman <alex.b...@gmail.com>
          Gerrit-Attention: Brad Fitzpatrick <brad...@golang.org>
          Gerrit-Comment-Date: Tue, 01 Jun 2021 17:00:46 +0000

          Jason A. Donenfeld (Gerrit)

          unread,
          Jun 4, 2021, 5:45:48 AM6/4/21
          to goph...@pubsubhelper.golang.org, Go Bot, Alex Brainman, Brad Fitzpatrick, golang-co...@googlegroups.com

          Attention is currently required from: Alex Brainman, Brad Fitzpatrick.

          View Change

          1 comment:

          • Patchset:

            • Patch Set #4:

              Alex/Brad - could one of you review this commit and the subsequent one? It's for 1.17.

          To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: go
          Gerrit-Branch: master
          Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
          Gerrit-Change-Number: 322509
          Gerrit-PatchSet: 4
          Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
          Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
          Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
          Gerrit-Reviewer: Go Bot <go...@golang.org>
          Gerrit-Reviewer: Jason A. Donenfeld <Ja...@zx2c4.com>
          Gerrit-Attention: Alex Brainman <alex.b...@gmail.com>
          Gerrit-Attention: Brad Fitzpatrick <brad...@golang.org>
          Gerrit-Comment-Date: Fri, 04 Jun 2021 09:45:41 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          Gerrit-MessageType: comment

          Ian Lance Taylor (Gerrit)

          unread,
          Jun 4, 2021, 11:28:19 AM6/4/21
          to Jason A. Donenfeld, goph...@pubsubhelper.golang.org, Go Bot, Alex Brainman, Brad Fitzpatrick, golang-co...@googlegroups.com

          Attention is currently required from: Jason A. Donenfeld, Alex Brainman, Brad Fitzpatrick.

          View Change

          1 comment:

          • File src/os/exec_windows.go:

            • Patch Set #4, Line 58: ^syscall.Handle(0)

              Should we be using GetCurrentProcess here? That seems to be what the MSDN examples use.

          To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: go
          Gerrit-Branch: master
          Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
          Gerrit-Change-Number: 322509
          Gerrit-PatchSet: 4
          Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
          Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
          Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
          Gerrit-Reviewer: Go Bot <go...@golang.org>
          Gerrit-Reviewer: Jason A. Donenfeld <Ja...@zx2c4.com>
          Gerrit-CC: Ian Lance Taylor <ia...@golang.org>
          Gerrit-Attention: Jason A. Donenfeld <Ja...@zx2c4.com>
          Gerrit-Attention: Alex Brainman <alex.b...@gmail.com>
          Gerrit-Attention: Brad Fitzpatrick <brad...@golang.org>
          Gerrit-Comment-Date: Fri, 04 Jun 2021 15:28:14 +0000

          Jason A. Donenfeld (Gerrit)

          unread,
          Jun 4, 2021, 11:30:15 AM6/4/21
          to goph...@pubsubhelper.golang.org, Ian Lance Taylor, Go Bot, Alex Brainman, Brad Fitzpatrick, golang-co...@googlegroups.com

          Attention is currently required from: Alex Brainman, Brad Fitzpatrick, Ian Lance Taylor.

          View Change

          1 comment:

          • File src/os/exec_windows.go:

            • Patch Set #4, Line 58: ^syscall.Handle(0)

              Should we be using GetCurrentProcess here? That seems to be what the MSDN examples use.

            • `GetCurrentProcess` just returns -1. The error handling of that function makes it annoying to use. That's why we replaced it with CurrentProcess in x/sys.

          To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: go
          Gerrit-Branch: master
          Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
          Gerrit-Change-Number: 322509
          Gerrit-PatchSet: 4
          Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
          Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
          Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
          Gerrit-Reviewer: Go Bot <go...@golang.org>
          Gerrit-Reviewer: Jason A. Donenfeld <Ja...@zx2c4.com>
          Gerrit-CC: Ian Lance Taylor <ia...@golang.org>
          Gerrit-Attention: Alex Brainman <alex.b...@gmail.com>
          Gerrit-Attention: Brad Fitzpatrick <brad...@golang.org>
          Gerrit-Attention: Ian Lance Taylor <ia...@golang.org>
          Gerrit-Comment-Date: Fri, 04 Jun 2021 15:30:07 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          Comment-In-Reply-To: Ian Lance Taylor <ia...@golang.org>
          Gerrit-MessageType: comment

          Ian Lance Taylor (Gerrit)

          unread,
          Jun 4, 2021, 1:11:23 PM6/4/21
          to Jason A. Donenfeld, goph...@pubsubhelper.golang.org, Go Bot, Alex Brainman, Brad Fitzpatrick, golang-co...@googlegroups.com

          Attention is currently required from: Jason A. Donenfeld, Alex Brainman, Brad Fitzpatrick.

          Patch set 4:Code-Review +2

          View Change

            To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: go
            Gerrit-Branch: master
            Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
            Gerrit-Change-Number: 322509
            Gerrit-PatchSet: 4
            Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
            Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
            Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
            Gerrit-Reviewer: Go Bot <go...@golang.org>
            Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
            Gerrit-Reviewer: Jason A. Donenfeld <Ja...@zx2c4.com>
            Gerrit-Attention: Jason A. Donenfeld <Ja...@zx2c4.com>
            Gerrit-Attention: Alex Brainman <alex.b...@gmail.com>
            Gerrit-Attention: Brad Fitzpatrick <brad...@golang.org>
            Gerrit-Comment-Date: Fri, 04 Jun 2021 17:11:17 +0000

            Jason A. Donenfeld (Gerrit)

            unread,
            Jun 4, 2021, 1:21:51 PM6/4/21
            to goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Ian Lance Taylor, Go Bot, Alex Brainman, Brad Fitzpatrick, golang-co...@googlegroups.com

            Jason A. Donenfeld submitted this change.

            View Change

            Approvals: Ian Lance Taylor: Looks good to me, approved Jason A. Donenfeld: Trusted; Run TryBots Go Bot: TryBots succeeded
            os: terminate windows processes via handle directly

            We already have a handle to the process, so use that for termination,
            rather than doing a new lookup based on the PID.

            Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
            Reviewed-on: https://go-review.googlesource.com/c/go/+/322509
            Trust: Jason A. Donenfeld <Ja...@zx2c4.com>
            Run-TryBot: Jason A. Donenfeld <Ja...@zx2c4.com>
            TryBot-Result: Go Bot <go...@golang.org>
            Reviewed-by: Ian Lance Taylor <ia...@golang.org>

            ---
            M src/os/exec_windows.go
            1 file changed, 8 insertions(+), 12 deletions(-)

            diff --git a/src/os/exec_windows.go b/src/os/exec_windows.go
            index 5710401..b59a01a 100644

            --- a/src/os/exec_windows.go
            +++ b/src/os/exec_windows.go
            @@ -45,16 +45,6 @@
            return &ProcessState{p.Pid, syscall.WaitStatus{ExitCode: ec}, &u}, nil
            }

            -func terminateProcess(pid, exitcode int) error {
            - h, e := syscall.OpenProcess(syscall.PROCESS_TERMINATE, false, uint32(pid))
            - if e != nil {
            - return NewSyscallError("OpenProcess", e)
            - }
            - defer syscall.CloseHandle(h)
            - e = syscall.TerminateProcess(h, uint32(exitcode))
            - return NewSyscallError("TerminateProcess", e)
            -}
            -
            func (p *Process) signal(sig Signal) error {
            handle := atomic.LoadUintptr(&p.handle)
            if handle == uintptr(syscall.InvalidHandle) {
            @@ -64,9 +54,15 @@

            return ErrProcessDone
            }
            if sig == Kill {
            - err := terminateProcess(p.Pid, 1)
            +		var terminationHandle syscall.Handle
            + e := syscall.DuplicateHandle(^syscall.Handle(0), syscall.Handle(handle), ^syscall.Handle(0), &terminationHandle, syscall.PROCESS_TERMINATE, false, 0)
            + if e != nil {
            + return NewSyscallError("DuplicateHandle", e)
            + }
            runtime.KeepAlive(p)
            - return err
            + defer syscall.CloseHandle(terminationHandle)
            + e = syscall.TerminateProcess(syscall.Handle(terminationHandle), 1)
            + return NewSyscallError("TerminateProcess", e)
            }
            // TODO(rsc): Handle Interrupt too?
            return syscall.Errno(syscall.EWINDOWS)

            To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: go
            Gerrit-Branch: master
            Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
            Gerrit-Change-Number: 322509
            Gerrit-PatchSet: 5
            Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
            Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
            Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
            Gerrit-Reviewer: Go Bot <go...@golang.org>
            Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
            Gerrit-Reviewer: Jason A. Donenfeld <Ja...@zx2c4.com>
            Gerrit-MessageType: merged

            Alex Brainman (Gerrit)

            unread,
            Jun 4, 2021, 10:24:32 PM6/4/21
            to Jason A. Donenfeld, goph...@pubsubhelper.golang.org, Ian Lance Taylor, Go Bot, Brad Fitzpatrick, golang-co...@googlegroups.com

            Patch set 5:Code-Review +2

            View Change

            1 comment:

            To view, visit change 322509. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: go
            Gerrit-Branch: master
            Gerrit-Change-Id: I2958c1817f12f3dd783412baacbf629049f6956a
            Gerrit-Change-Number: 322509
            Gerrit-PatchSet: 5
            Gerrit-Owner: Jason A. Donenfeld <Ja...@zx2c4.com>
            Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
            Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
            Gerrit-Reviewer: Go Bot <go...@golang.org>
            Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
            Gerrit-Reviewer: Jason A. Donenfeld <Ja...@zx2c4.com>
            Gerrit-Comment-Date: Sat, 05 Jun 2021 02:24:26 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            Gerrit-MessageType: comment
            Reply all
            Reply to author
            Forward
            0 new messages