| 
									
										
										
										
											2010-03-29 02:23:21 -04:00
										 |  |  | #include "master.hpp"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-11 22:14:17 -04:00
										 |  |  | namespace factor { | 
					
						
							| 
									
										
										
										
											2010-03-29 02:23:21 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-25 12:44:55 -04:00
										 |  |  | HANDLE boot_thread; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-11 22:14:17 -04:00
										 |  |  | DWORD current_vm_tls_key; | 
					
						
							| 
									
										
										
										
											2010-03-29 02:23:21 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-11 22:14:17 -04:00
										 |  |  | void init_mvm() { | 
					
						
							|  |  |  |   if ((current_vm_tls_key = TlsAlloc()) == TLS_OUT_OF_INDEXES) | 
					
						
							|  |  |  |     fatal_error("TlsAlloc() failed", 0); | 
					
						
							| 
									
										
										
										
											2010-03-29 02:23:21 -04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-11 22:14:17 -04:00
										 |  |  | void register_vm_with_thread(factor_vm* vm) { | 
					
						
							|  |  |  |   if (!TlsSetValue(current_vm_tls_key, vm)) | 
					
						
							|  |  |  |     fatal_error("TlsSetValue() failed", 0); | 
					
						
							| 
									
										
										
										
											2010-03-29 02:23:21 -04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-11 22:14:17 -04:00
										 |  |  | factor_vm* current_vm_p() { | 
					
						
							|  |  |  |   return (factor_vm*)TlsGetValue(current_vm_tls_key); | 
					
						
							| 
									
										
										
										
											2010-03-29 02:23:21 -04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |