From: Tobias Klauser Date: Tue, 9 Aug 2022 08:17:54 +0000 (+0200) Subject: syscall: add Mmap and Munmap on solaris X-Git-Tag: go1.20rc1~1746 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=98277f30e4365f3b35d856fa9cdee2fe01ab862b;p=gostls13.git syscall: add Mmap and Munmap on solaris They exist on all other Unix ports, define them on GOOS=solaris as well. Fixes #52875 Change-Id: I7285156b3b48ce12fbcc6d1d88865540a5c51a21 Reviewed-on: https://go-review.googlesource.com/c/go/+/413374 Run-TryBot: Tobias Klauser TryBot-Result: Gopher Robot Auto-Submit: Tobias Klauser Reviewed-by: Than McIntosh Reviewed-by: Bryan Mills --- diff --git a/src/syscall/mmap_unix_test.go b/src/syscall/mmap_unix_test.go index 3e9c08d67d..5e08b20679 100644 --- a/src/syscall/mmap_unix_test.go +++ b/src/syscall/mmap_unix_test.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris package syscall_test diff --git a/src/syscall/syscall_solaris.go b/src/syscall/syscall_solaris.go index 0363597c9e..f6d7e46cd3 100644 --- a/src/syscall/syscall_solaris.go +++ b/src/syscall/syscall_solaris.go @@ -536,6 +536,20 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) { return } +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + func Utimes(path string, tv []Timeval) error { if len(tv) != 2 { return EINVAL