Start windows factor in a spawned thread (for testing)
parent
41345583a5
commit
8008545b8e
|
@ -212,7 +212,7 @@ void factorvm::factor_sleep(long us)
|
|||
|
||||
void factorvm::start_standalone_factor(int argc, vm_char **argv)
|
||||
{
|
||||
printf("thread id is %d\n",GetCurrentThreadId());fflush(stdout);
|
||||
//printf("thread id is %d\n",GetCurrentThreadId());fflush(stdout);
|
||||
register_vm(GetCurrentThreadId(),this);
|
||||
vm_parameters p;
|
||||
default_parameters(&p);
|
||||
|
@ -243,11 +243,12 @@ VM_C_API void start_standalone_factor(int argc, vm_char **argv)
|
|||
return newvm->start_standalone_factor(argc,argv);
|
||||
}
|
||||
|
||||
VM_C_API void start_standalone_factor_in_new_thread(int argc, vm_char **argv)
|
||||
VM_C_API void *start_standalone_factor_in_new_thread(int argc, vm_char **argv)
|
||||
{
|
||||
startargs *args = new startargs; // leaks startargs structure
|
||||
args->argc = argc; args->argv = argv;
|
||||
start_thread(start_standalone_factor_thread,args);
|
||||
void *handle = start_thread(start_standalone_factor_thread,args);
|
||||
return handle;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -2,6 +2,6 @@ namespace factor
|
|||
{
|
||||
|
||||
VM_C_API void start_standalone_factor(int argc, vm_char **argv);
|
||||
VM_C_API void start_standalone_factor_in_new_thread(int argc, vm_char **argv);
|
||||
VM_C_API void *start_standalone_factor_in_new_thread(int argc, vm_char **argv);
|
||||
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@ int WINAPI WinMain(
|
|||
}
|
||||
|
||||
factor::start_standalone_factor(nArgs,szArglist);
|
||||
//HANDLE thread = factor::start_standalone_factor_in_new_thread(nArgs,szArglist);
|
||||
//WaitForSingleObject(thread, INFINITE);
|
||||
|
||||
LocalFree(szArglist);
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ s64 factorvm::current_micros()
|
|||
|
||||
FACTOR_STDCALL LONG exception_handler(PEXCEPTION_POINTERS pe)
|
||||
{
|
||||
printf("exception handler %d\n",GetCurrentThreadId());
|
||||
//printf("exception handler %d\n",GetCurrentThreadId());fflush(stdout);
|
||||
factorvm *myvm = lookup_vm(GetCurrentThreadId());
|
||||
PEXCEPTION_RECORD e = (PEXCEPTION_RECORD)pe->ExceptionRecord;
|
||||
CONTEXT *c = (CONTEXT*)pe->ContextRecord;
|
||||
|
|
Loading…
Reference in New Issue