diff options
| author | Joel Sing <joel@sing.id.au> | 2019-05-07 17:56:49 +1000 |
|---|---|---|
| committer | Joel Sing <joel@sing.id.au> | 2021-03-03 05:33:21 +0000 |
| commit | 00cb841b83ad157bc21d36daf0626bbcd4af0d57 (patch) | |
| tree | 10d3c992346b69236eb1356bfd381cc5e4f49584 /src/syscall/syscall_linux_386.go | |
| parent | f2df1e3c34ceb2225d0df5c9ec92d5dc9e9ba919 (diff) | |
| download | go-00cb841b83ad157bc21d36daf0626bbcd4af0d57.tar.xz | |
syscall: implement rawVforkSyscall for remaining linux platforms
This allows the use of CLONE_VFORK and CLONE_VM for fork/exec, preventing
'fork/exec ...: cannot allocate memory' failures from occuring when attempting
to execute commands from a Go process that has a large memory footprint.
Additionally, this should reduce the latency of fork/exec on these platforms.
Fixes #31936
Change-Id: I4e28cf0763173145cacaa5340680dca9ff449305
Reviewed-on: https://go-review.googlesource.com/c/go/+/295849
Trust: Joel Sing <joel@sing.id.au>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/syscall/syscall_linux_386.go')
| -rw-r--r-- | src/syscall/syscall_linux_386.go | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/syscall/syscall_linux_386.go b/src/syscall/syscall_linux_386.go index ed52647403..0db037470d 100644 --- a/src/syscall/syscall_linux_386.go +++ b/src/syscall/syscall_linux_386.go @@ -387,6 +387,4 @@ func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } -func rawVforkSyscall(trap, a1 uintptr) (r1 uintptr, err Errno) { - panic("not implemented") -} +func rawVforkSyscall(trap, a1 uintptr) (r1 uintptr, err Errno) |
