1
0
mirror of https://github.com/golang/go synced 2024-11-22 03:34:40 -07:00

syscall: use SYS_EXIT_GROUP in CLONE_PIDFD feature check child

Inside Google we have seen issues with QEMU user mode failing to wake a
parent waitid when this child exits with SYS_EXIT. This bug appears to
not affect SYS_EXIT_GROUP.

It is currently unclear if this is a general QEMU or specific to
Google's configuration, but SYS_EXIT and SYS_EXIT_GROUP are semantically
equivalent here, so we can use the latter here in case this is a general
QEMU bug.

For #68976.

Change-Id: I34e51088c9a6b7493a060e2a719a3cc4a3d54aa0
Reviewed-on: https://go-review.googlesource.com/c/go/+/617417
Reviewed-by: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
Michael Pratt 2024-10-02 17:20:12 -04:00
parent ce60f70374
commit 47a9935920

View File

@ -836,6 +836,6 @@ func doCheckClonePidfd(pidfd *int32) (pid uintptr, errno Errno) {
}
for {
RawSyscall(SYS_EXIT, 0, 0, 0)
RawSyscall(SYS_EXIT_GROUP, 0, 0, 0)
}
}