factor/vm/mvm.cpp

32 lines
748 B
C++
Raw Normal View History

2010-03-29 02:27:45 -04:00
#include "master.hpp"
2013-05-11 22:14:17 -04:00
namespace factor {
2010-03-29 02:27:45 -04:00
std::map<THREADHANDLE, factor_vm*> thread_vms;
struct startargs {
2013-05-11 22:14:17 -04:00
int argc;
vm_char** argv;
};
// 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;
}
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);
}
}