package unix
import (
)
var getrandomUnsupported int32
type GetRandomFlag uintptr
func ( []byte, GetRandomFlag) ( int, error) {
if len() == 0 {
return 0, nil
}
if atomic.LoadInt32(&getrandomUnsupported) != 0 {
return 0, syscall.ENOSYS
}
, , := syscall.Syscall(getrandomTrap,
uintptr(unsafe.Pointer(&[0])),
uintptr(len()),
uintptr())
if != 0 {
if == syscall.ENOSYS {
atomic.StoreInt32(&getrandomUnsupported, 1)
}
return 0,
}
return int(), nil
}