| 
									
										
										
										
											2010-03-29 02:27:45 -04:00
										 |  |  | #include "master.hpp"
 | 
					
						
							| 
									
										
										
										
											2010-03-29 02:23:21 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-11 22:14:17 -04:00
										 |  |  | namespace factor { | 
					
						
							| 
									
										
										
										
											2010-03-29 02:23:21 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-29 02:27:45 -04:00
										 |  |  | std::map<THREADHANDLE, factor_vm*> thread_vms; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-29 02:23:21 -04:00
										 |  |  | struct startargs { | 
					
						
							| 
									
										
										
										
											2013-05-11 22:14:17 -04:00
										 |  |  |   int argc; | 
					
						
							|  |  |  |   vm_char** argv; | 
					
						
							| 
									
										
										
										
											2010-03-29 02:23:21 -04:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-05 08:44:37 -04:00
										 |  |  | // arg must be new'ed because we're going to delete it!
 | 
					
						
							| 
									
										
										
										
											2013-05-11 22:14:17 -04:00
										 |  |  | void* start_standalone_factor_thread(void* arg) { | 
					
						
							|  |  |  |   factor_vm* newvm = new_factor_vm(); | 
					
						
							|  |  |  |   startargs* args = (startargs*)arg; | 
					
						
							|  |  |  |   int argc = args->argc; | 
					
						
							|  |  |  |   vm_char** argv = args->argv; | 
					
						
							|  |  |  |   delete args; | 
					
						
							|  |  |  |   newvm->start_standalone_factor(argc, argv); | 
					
						
							|  |  |  |   return 0; | 
					
						
							| 
									
										
										
										
											2010-03-29 02:23:21 -04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-11 22:14:17 -04:00
										 |  |  | VM_C_API THREADHANDLE start_standalone_factor_in_new_thread(int argc, | 
					
						
							|  |  |  |                                                             vm_char** argv) { | 
					
						
							|  |  |  |   startargs* args = new startargs; | 
					
						
							|  |  |  |   args->argc = argc; | 
					
						
							|  |  |  |   args->argv = argv; | 
					
						
							|  |  |  |   return start_thread(start_standalone_factor_thread, args); | 
					
						
							| 
									
										
										
										
											2010-03-29 02:23:21 -04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |