summaryrefslogtreecommitdiff
path: root/src/pkg/time/sys.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/time/sys.go')
-rw-r--r--src/pkg/time/sys.go14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/pkg/time/sys.go b/src/pkg/time/sys.go
index 8a2e6fadc..63f4cbf3d 100644
--- a/src/pkg/time/sys.go
+++ b/src/pkg/time/sys.go
@@ -44,11 +44,19 @@ func sleep(t, ns int64) (int64, os.Error) {
// TODO(cw): use monotonic-time once it's available
end := t + ns
for t < end {
- errno := syscall.Sleep(end - t)
- if errno != 0 && errno != syscall.EINTR {
- return 0, os.NewSyscallError("sleep", errno)
+ err := sysSleep(end - t)
+ if err != nil {
+ return 0, err
}
t = Nanoseconds()
}
return t, nil
}
+
+func sysSleep(t int64) os.Error {
+ errno := syscall.Sleep(t)
+ if errno != 0 && errno != syscall.EINTR {
+ return os.NewSyscallError("sleep", errno)
+ }
+ return nil
+}