Skip to content

Commit

Permalink
Align previous patch with upstream trunk. Functionally, fix remains t…
Browse files Browse the repository at this point in the history
…he same.
  • Loading branch information
fhajny committed May 19, 2017
1 parent fc40209 commit d26605e
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 11 deletions.
4 changes: 2 additions & 2 deletions lang/go/distinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.47 2017/05/02 17:15:31 fhajny Exp $
$NetBSD: distinfo,v 1.48 2017/05/19 18:50:41 fhajny Exp $

SHA1 (go1.8.1.src.tar.gz) = 0c4b7116bd6b7cdc19bdcf8336c75eae4620907b
RMD160 (go1.8.1.src.tar.gz) = c0251b667a9c34f9dd180aeb8c4c9dce5832b9eb
Expand All @@ -7,5 +7,5 @@ Size (go1.8.1.src.tar.gz) = 15331455 bytes
SHA1 (patch-lib_time_update.bash) = bcf565b97ae7898a9e5cef7686fe42c69bc0bba1
SHA1 (patch-misc_io_clangwrap.sh) = cd91c47ba0fe7b6eb8009dd261c0c26c7d581c29
SHA1 (patch-src_crypto_x509_root__bsd.go) = 0eca1eafa967268ae9b224be4aeda347ebc91901
SHA1 (patch-src_runtime_mem__bsd.go) = ceaeb6714c7793c1e3f967709e29bf394f94d4e8
SHA1 (patch-src_runtime_mem__bsd.go) = 98a985555d53a3df7715f82aed00fd2a2a5917a6
SHA1 (patch-src_runtime_os__netbsd.go) = 561f53c084c5bff93171a411bebd79bebf1e3696
28 changes: 19 additions & 9 deletions lang/go/patches/patch-src_runtime_mem__bsd.go
Original file line number Diff line number Diff line change
@@ -1,25 +1,35 @@
$NetBSD: patch-src_runtime_mem__bsd.go,v 1.1 2017/05/02 17:15:31 fhajny Exp $
$NetBSD: patch-src_runtime_mem__bsd.go,v 1.2 2017/05/19 18:50:41 fhajny Exp $

Improve handling of low-memory situations on Illumos.
https://github.com/joyent/pkgsrc/pull/493
runtime: mmap(2) on Solaris & Illumos can return EAGAIN
https://github.com/golang/go/commit/13cdd814ea0e8ef165ab54802f9f102b8b690df7

--- src/runtime/mem_bsd.go.orig 2017-04-28 12:14:22.000000000 -0700
+++ src/runtime/mem_bsd.go 2017-04-28 12:14:31.000000000 -0700
@@ -76,7 +76,7 @@
This patch should be removed when we update to 1.9.

--- src/runtime/mem_bsd.go.orig 2017-04-07 16:54:08.000000000 +0000
+++ src/runtime/mem_bsd.go
@@ -59,6 +59,7 @@ func sysReserve(v unsafe.Pointer, n uint
return p
}

+const _sunosEAGAIN = 11
const _ENOMEM = 12

func sysMap(v unsafe.Pointer, n uintptr, reserved bool, sysStat *uint64) {
@@ -76,7 +77,7 @@ func sysMap(v unsafe.Pointer, n uintptr,
flags |= _MAP_FIXED
}
p := mmap(v, n, _PROT_READ|_PROT_WRITE, flags, -1, 0)
- if uintptr(p) == _ENOMEM {
+ if uintptr(p) == _ENOMEM || (GOOS == "solaris" && uintptr(p) == _EAGAIN) {
+ if uintptr(p) == _ENOMEM || (GOOS == "solaris" && uintptr(p) == _sunosEAGAIN) {
throw("runtime: out of memory")
}
if p != v {
@@ -87,7 +87,7 @@
@@ -87,7 +88,7 @@ func sysMap(v unsafe.Pointer, n uintptr,
}

p := mmap(v, n, _PROT_READ|_PROT_WRITE, _MAP_ANON|_MAP_FIXED|_MAP_PRIVATE, -1, 0)
- if uintptr(p) == _ENOMEM {
+ if uintptr(p) == _ENOMEM || (GOOS == "solaris" && uintptr(p) == _EAGAIN) {
+ if uintptr(p) == _ENOMEM || (GOOS == "solaris" && uintptr(p) == _sunosEAGAIN) {
throw("runtime: out of memory")
}
if p != v {

0 comments on commit d26605e

Please sign in to comment.