]> gitweb.factorcode.org Git - factor.git/blob - vm/mvm-windows.cpp
vm: handle async signals at safepoints on unix
[factor.git] / vm / mvm-windows.cpp
1 #include "master.hpp"
2
3 namespace factor
4 {
5
6 DWORD current_vm_tls_key; 
7
8 void init_mvm()
9 {
10         if((current_vm_tls_key = TlsAlloc()) == TLS_OUT_OF_INDEXES)
11                 fatal_error("TlsAlloc() failed",0);
12 }
13
14 void register_vm_with_thread(factor_vm *vm)
15 {
16         if(!TlsSetValue(current_vm_tls_key, vm))
17                 fatal_error("TlsSetValue() failed",0);
18 }
19
20 factor_vm *current_vm_p()
21 {
22         return (factor_vm *)TlsGetValue(current_vm_tls_key);
23 }
24
25 }