]> gitweb.factorcode.org Git - factor.git/blob - vm/mvm.cpp
vm: split up TLS code and add a dummy implementation for a dummy OS known as NetBSD
[factor.git] / vm / mvm.cpp
1 #include "master.cpp"
2
3 namespace factor
4 {
5
6 struct startargs {
7         int argc;
8         vm_char **argv;
9 };
10
11 // arg must be new'ed because we're going to delete it!
12 void *start_standalone_factor_thread(void *arg) 
13 {
14         factor_vm *newvm = new_factor_vm();
15         startargs *args = (startargs*) arg;
16         int argc = args->argc; vm_char **argv = args->argv;
17         delete args;
18         newvm->start_standalone_factor(argc, argv);
19         return 0;
20 }
21
22 VM_C_API THREADHANDLE start_standalone_factor_in_new_thread(int argc, vm_char **argv)
23 {
24         startargs *args = new startargs;
25         args->argc = argc; args->argv = argv; 
26         return start_thread(start_standalone_factor_thread,args);
27 }
28
29 }