summaryrefslogtreecommitdiff
path: root/src/runtime/os_windows.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-10-03 12:22:19 -0400
committerRuss Cox <rsc@golang.org>2014-10-03 12:22:19 -0400
commitc5aca6fedbdd83d9153f6a00dc656aaabb0774c5 (patch)
tree26952b971b307783cde4b126c0a133f62ac3c893 /src/runtime/os_windows.c
parent4eb6792aa572c7e6d3448d4cf22223b61b65724f (diff)
parent338c7ea5df93e25ac4dc143970603a1e88b26124 (diff)
downloadgo-c5aca6fedbdd83d9153f6a00dc656aaabb0774c5.tar.gz
[dev.garbage] merge default into dev.garbage
Diffstat (limited to 'src/runtime/os_windows.c')
-rw-r--r--src/runtime/os_windows.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/runtime/os_windows.c b/src/runtime/os_windows.c
index 6c8f137ee..77f99062c 100644
--- a/src/runtime/os_windows.c
+++ b/src/runtime/os_windows.c
@@ -72,6 +72,7 @@ extern void *runtime·WaitForSingleObject;
extern void *runtime·WriteFile;
extern void *runtime·timeBeginPeriod;
+#pragma dataflag NOPTR
void *runtime·GetQueuedCompletionStatusEx;
extern uintptr runtime·externalthreadhandlerp;
@@ -147,7 +148,7 @@ runtime·get_random_data(byte **rnd, int32 *rnd_len)
void
runtime·goenvs(void)
{
- extern Slice syscall·envs;
+ extern Slice runtime·envs;
uint16 *env;
String *s;
@@ -160,8 +161,8 @@ runtime·goenvs(void)
for(p=env; *p; n++)
p += runtime·findnullw(p)+1;
- syscall·envs = runtime·makeStringSlice(n);
- s = (String*)syscall·envs.array;
+ runtime·envs = runtime·makeStringSlice(n);
+ s = (String*)runtime·envs.array;
p = env;
for(i=0; i<n; i++) {
@@ -278,6 +279,8 @@ runtime·minit(void)
void
runtime·unminit(void)
{
+ runtime·stdcall1(runtime·CloseHandle, (uintptr)g->m->thread);
+ g->m->thread = nil;
}
// Described in http://www.dcl.hpi.uni-potsdam.de/research/WRK/2007/08/getting-os-information-the-kuser_shared_data-structure/
@@ -287,7 +290,9 @@ typedef struct KSYSTEM_TIME {
int32 High2Time;
} KSYSTEM_TIME;
+#pragma dataflag NOPTR
const KSYSTEM_TIME* INTERRUPT_TIME = (KSYSTEM_TIME*)0x7ffe0008;
+#pragma dataflag NOPTR
const KSYSTEM_TIME* SYSTEM_TIME = (KSYSTEM_TIME*)0x7ffe0014;
static void badsystime(void);
@@ -498,6 +503,7 @@ runtime·ctrlhandler1(uint32 type)
extern void runtime·dosigprof(Context *r, G *gp, M *mp);
extern void runtime·profileloop(void);
+#pragma dataflag NOPTR
static void *profiletimer;
static void