diff options
author | Joe Poirier <jdpoirier@gmail.com> | 2010-04-29 23:08:22 -0700 |
---|---|---|
committer | Joe Poirier <jdpoirier@gmail.com> | 2010-04-29 23:08:22 -0700 |
commit | 884ccd25ed97fe0ef5ae8715f3d0b1d081f2f78b (patch) | |
tree | f4f9240cfc515666681aeeabce2415b90fef7800 | |
parent | 3d74bc2af068136c564bba5a2b1a5c93d9f25190 (diff) | |
download | golang-884ccd25ed97fe0ef5ae8715f3d0b1d081f2f78b.tar.gz |
syscall: mingw Sleep
R=rsc, brainman
CC=golang-dev
http://codereview.appspot.com/961047
Committer: Russ Cox <rsc@golang.org>
-rw-r--r-- | src/pkg/syscall/syscall_mingw.go | 9 | ||||
-rw-r--r-- | src/pkg/syscall/zsyscall_mingw_386.go | 8 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/pkg/syscall/syscall_mingw.go b/src/pkg/syscall/syscall_mingw.go index 067a26f20..be09480db 100644 --- a/src/pkg/syscall/syscall_mingw.go +++ b/src/pkg/syscall/syscall_mingw.go @@ -121,9 +121,18 @@ func getSysProcAddr(m uint32, pname string) uintptr { //sys GetComputerName(buf *uint16, n *uint32) (ok bool, errno int) = GetComputerNameW //sys SetEndOfFile(handle int32) (ok bool, errno int) //sys GetSystemTimeAsFileTime(time *Filetime) +//sys sleep(msec uint32) = Sleep // syscall interface implementation for other packages +func Sleep(nsec int64) (errno int) { + nsec += 999999 // round up to milliseconds + msec := uint32(nsec / 1e6) + sleep(msec) + errno = 0 + return +} + func Errstr(errno int) string { if errno == EMINGW { return "not supported by windows" diff --git a/src/pkg/syscall/zsyscall_mingw_386.go b/src/pkg/syscall/zsyscall_mingw_386.go index ccfb616ef..2032c14a6 100644 --- a/src/pkg/syscall/zsyscall_mingw_386.go +++ b/src/pkg/syscall/zsyscall_mingw_386.go @@ -1,4 +1,4 @@ -// mksyscall_mingw.sh -l32 syscall_mingw.go syscall_mingw_386.go +// mksyscall_mingw.sh -l32 syscall_mingw.go zsyscall_mingw_386.go // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT package syscall @@ -33,6 +33,7 @@ var ( procGetComputerNameW = getSysProcAddr(modKERNEL32, "GetComputerNameW") procSetEndOfFile = getSysProcAddr(modKERNEL32, "SetEndOfFile") procGetSystemTimeAsFileTime = getSysProcAddr(modKERNEL32, "GetSystemTimeAsFileTime") + procSleep = getSysProcAddr(modKERNEL32, "Sleep") ) func GetLastError() (lasterrno int) { @@ -315,3 +316,8 @@ func GetSystemTimeAsFileTime(time *Filetime) { Syscall(procGetSystemTimeAsFileTime, uintptr(unsafe.Pointer(time)), 0, 0) return } + +func sleep(msec uint32) { + Syscall(procSleep, uintptr(msec), 0, 0) + return +} |