From 6e83ef6d2149d1dd9333a2ff955a0dfdb5475bb5 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 15 Apr 2015 16:28:00 -0700 Subject: [PATCH] internal/syscall: move to unix subdirectory Move the single file from internal/syscall to internal/syscall/unix, to match the golang.org/x/sys layout. Change-Id: I2fb2832b4cb22efc7666bd276f5401ac3e73dc40 Reviewed-on: https://go-review.googlesource.com/8972 Reviewed-by: Brad Fitzpatrick Reviewed-by: Rob Pike --- src/crypto/rand/rand_linux.go | 6 +++--- src/go/build/deps_test.go | 2 +- src/internal/syscall/{ => unix}/getrandom_linux.go | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) rename src/internal/syscall/{ => unix}/getrandom_linux.go (87%) diff --git a/src/crypto/rand/rand_linux.go b/src/crypto/rand/rand_linux.go index 8cb59c75df..7d6d9e8a09 100644 --- a/src/crypto/rand/rand_linux.go +++ b/src/crypto/rand/rand_linux.go @@ -5,7 +5,7 @@ package rand import ( - "internal/syscall" + "internal/syscall/unix" "sync" ) @@ -25,7 +25,7 @@ func pickStrategy() { // - the machine has no entropy available (early boot + no hardware // entropy source?) and we want to avoid blocking later. var buf [1]byte - n, err := syscall.GetRandom(buf[:], syscall.GRND_NONBLOCK) + n, err := unix.GetRandom(buf[:], unix.GRND_NONBLOCK) useSyscall = n == 1 && err == nil } @@ -34,6 +34,6 @@ func getRandomLinux(p []byte) (ok bool) { if !useSyscall { return false } - n, err := syscall.GetRandom(p, 0) + n, err := unix.GetRandom(p, 0) return n == len(p) && err == nil } diff --git a/src/go/build/deps_test.go b/src/go/build/deps_test.go index 11e8ba8b47..16336d08f4 100644 --- a/src/go/build/deps_test.go +++ b/src/go/build/deps_test.go @@ -279,7 +279,7 @@ var pkgDeps = map[string][]string{ // Random byte, number generation. // This would be part of core crypto except that it imports // math/big, which imports fmt. - "crypto/rand": {"L4", "CRYPTO", "OS", "math/big", "syscall", "internal/syscall"}, + "crypto/rand": {"L4", "CRYPTO", "OS", "math/big", "syscall", "internal/syscall/unix"}, // Mathematical crypto: dependencies on fmt (L4) and math/big. // We could avoid some of the fmt, but math/big imports fmt anyway. diff --git a/src/internal/syscall/getrandom_linux.go b/src/internal/syscall/unix/getrandom_linux.go similarity index 87% rename from src/internal/syscall/getrandom_linux.go rename to src/internal/syscall/unix/getrandom_linux.go index 36d5a1ccb0..7388271ef1 100644 --- a/src/internal/syscall/getrandom_linux.go +++ b/src/internal/syscall/unix/getrandom_linux.go @@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package syscall +package unix import ( "runtime" "sync/atomic" - stdsyscall "syscall" + "syscall" "unsafe" ) @@ -36,20 +36,20 @@ const ( // See https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c6e9d6f38894798696f23c8084ca7edbf16ee895 func GetRandom(p []byte, flags GetRandomFlag) (n int, err error) { if randomTrap == 0 { - return 0, stdsyscall.ENOSYS + return 0, syscall.ENOSYS } if len(p) == 0 { return 0, nil } if atomic.LoadInt32(&randomUnsupported) != 0 { - return 0, stdsyscall.ENOSYS + return 0, syscall.ENOSYS } - r1, _, errno := stdsyscall.Syscall(randomTrap, + r1, _, errno := syscall.Syscall(randomTrap, uintptr(unsafe.Pointer(&p[0])), uintptr(len(p)), uintptr(flags)) if errno != 0 { - if errno == stdsyscall.ENOSYS { + if errno == syscall.ENOSYS { atomic.StoreInt32(&randomUnsupported, 1) } return 0, errno -- 2.48.1