// Copyright 2016 The Periph Authors. All rights reserved. // Use of this source code is governed under the Apache License, Version 2.0 // that can be found in the LICENSE file. package cpu import ( "syscall" "time" ) const isLinux = true func nanospinLinux(d time.Duration) { // runtime.nanotime() is not exported so it cannot be used to busy loop for // very short sleep (10µs or less). time := syscall.NsecToTimespec(d.Nanoseconds()) leftover := syscall.Timespec{} for syscall.Nanosleep(&time, &leftover) != nil { time = leftover } }