diff options
| author | Ondřej Surý <ondrej@sury.org> | 2011-04-26 09:55:32 +0200 |
|---|---|---|
| committer | Ondřej Surý <ondrej@sury.org> | 2011-04-26 09:55:32 +0200 |
| commit | 7b15ed9ef455b6b66c6b376898a88aef5d6a9970 (patch) | |
| tree | 3ef530baa80cdf29436ba981f5783be6b4d2202b /src/pkg/time/sys.go | |
| parent | 50104cc32a498f7517a51c8dc93106c51c7a54b4 (diff) | |
| download | golang-7b15ed9ef455b6b66c6b376898a88aef5d6a9970.tar.gz | |
Imported Upstream version 2011.04.13upstream/2011.04.13
Diffstat (limited to 'src/pkg/time/sys.go')
| -rw-r--r-- | src/pkg/time/sys.go | 14 |
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 +} |
