32 lines
		
	
	
		
			748 B
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			748 B
		
	
	
	
		
			C++
		
	
	
#include "master.hpp"
 | 
						|
 | 
						|
namespace factor {
 | 
						|
 | 
						|
std::map<THREADHANDLE, factor_vm*> thread_vms;
 | 
						|
 | 
						|
struct startargs {
 | 
						|
  int argc;
 | 
						|
  vm_char** argv;
 | 
						|
};
 | 
						|
 | 
						|
// arg must be new'ed because we're going to delete it!
 | 
						|
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;
 | 
						|
}
 | 
						|
 | 
						|
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);
 | 
						|
}
 | 
						|
 | 
						|
}
 |