=================================================================== RCS file: /home/cvs/OpenXM_contrib2/windows/engine2000/io.c,v retrieving revision 1.2 retrieving revision 1.6 diff -u -p -r1.2 -r1.6 --- OpenXM_contrib2/windows/engine2000/io.c 2001/03/13 02:13:19 1.2 +++ OpenXM_contrib2/windows/engine2000/io.c 2006/02/08 05:31:37 1.6 @@ -54,6 +54,7 @@ static HANDLE hNotify0,hNotify_Ack0,hIntr0; static HANDLE hDebugNotify,hDebugNotify_Ack,hDebugIntr,hDebugIntr_Ack,hDebugKill; HANDLE hResizeNotify,hResizeNotify_Ack; /* should be visible from another file */ +HANDLE hMainThreadReady,hCanvasCreated; /* notification for ox_plot */ /* XXX */ extern HANDLE hStreamNotify,hStreamNotify_Ack; /* declared in io/ox.c */ @@ -69,7 +70,7 @@ static struct ErrMsg Errmsg; * interrupt_state : flag to distinguish an Asir error and a cancellation */ -static int emergency; +int emergency; static int interrupt_state; int debuggui_is_present; int messagegui_is_present; @@ -129,7 +130,7 @@ void watch_intr() { default: terminate_debug_gui(); emergency = 1; /* XXX */ - asir_terminate(2); + asir_terminate(3); exit(0); /* NOTREACHED */ break; @@ -161,7 +162,7 @@ void ox_watch_intr() { ResetEvent(hOxKill); terminate_debug_gui(); emergency = 1; /* XXX */ - asir_terminate(2); + asir_terminate(3); /* NOTREACHED */ break; } @@ -342,7 +343,6 @@ void Init_IO() void AsirMain(int argc, char **argv) { DWORD tid; - int ret; hRead = (void *)atoi(__argv[1]); hWrite = (void *)atoi(__argv[2]); @@ -378,7 +378,6 @@ void OxAsirMain(int argc, char **argv) { int create_message; int tid; - int ret; ox_sock_id = atoi(__argv[1]); create_message = atoi(__argv[2]); @@ -410,7 +409,6 @@ void OxPlotMain(int argc, char **argv) DWORD tid; DWORD mypid; char eventname[BUFSIZ]; - int ret; ox_sock_id = atoi(argv[1]); do_message = atoi(argv[2]); @@ -434,6 +432,10 @@ void OxPlotMain(int argc, char **argv) hResizeNotify = CreateEvent(NULL,TRUE,FALSE,eventname); sprintf(eventname,"resize_notify_ack_%d",mypid); hResizeNotify_Ack = CreateEvent(NULL,TRUE,FALSE,eventname); + sprintf(eventname,"mainthreadready_%d",mypid); + hMainThreadReady = CreateEvent(NULL,TRUE,FALSE,eventname); + sprintf(eventname,"canvascreated_%d",mypid); + hCanvasCreated = CreateEvent(NULL,TRUE,FALSE,eventname); hWatchStreamThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ox_watch_stream,NULL,0,&tid); // ret = SetThreadPriority(hWatchStreamThread,THREAD_PRIORITY_BELOW_NORMAL); @@ -446,7 +448,7 @@ void OxPlotMain(int argc, char **argv) /* process_args() increments argv */ plot_argc = argc-5; - plot_argv = argc+5; + plot_argv = argv+5; hComputingThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ox_plot_main,NULL,0,&tid); // ret = SetThreadPriority(hComputingThread,THREAD_PRIORITY_ABOVE_NORMAL); // if ( !ret ) @@ -558,8 +560,8 @@ void set_error(int id,char *reason,char *action) } /* dummy functions */ -reset_current_computation(){} -set_selection(){} -reset_selection(){} -set_busy(){} -reset_busy(){} +void reset_current_computation(){} +void set_selection(){} +void reset_selection(){} +void set_busy(){} +void reset_busy(){}