]> gitweb.factorcode.org Git - factor.git/blob - vm/mvm.cpp
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / vm / mvm.cpp
1 #include "master.hpp"
2
3 namespace factor
4 {
5
6 std::map<THREADHANDLE, factor_vm*> thread_vms;
7
8 struct startargs {
9         int argc;
10         vm_char **argv;
11 };
12
13 // arg must be new'ed because we're going to delete it!
14 void *start_standalone_factor_thread(void *arg) 
15 {
16         factor_vm *newvm = new_factor_vm();
17         startargs *args = (startargs*) arg;
18         int argc = args->argc; vm_char **argv = args->argv;
19         delete args;
20         newvm->start_standalone_factor(argc, argv);
21         return 0;
22 }
23
24 VM_C_API THREADHANDLE start_standalone_factor_in_new_thread(int argc, vm_char **argv)
25 {
26         startargs *args = new startargs;
27         args->argc = argc; args->argv = argv; 
28         return start_thread(start_standalone_factor_thread,args);
29 }
30
31 }