From 98277f30e4365f3b35d856fa9cdee2fe01ab862b Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Tue, 9 Aug 2022 10:17:54 +0200 Subject: [PATCH] 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 --- src/syscall/mmap_unix_test.go | 2 +- src/syscall/syscall_solaris.go | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) 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 -- 2.48.1