=================================================================== RCS file: /home/cvs/OpenXM_contrib2/windows/engine2000/io.c,v retrieving revision 1.7 retrieving revision 1.12 diff -u -p -r1.7 -r1.12 --- OpenXM_contrib2/windows/engine2000/io.c 2006/12/05 01:43:17 1.7 +++ OpenXM_contrib2/windows/engine2000/io.c 2019/03/28 08:03:07 1.12 @@ -91,8 +91,6 @@ void AsirMain(int,char **); void OxAsirMain(int,char **); void OxPlotMain(int,char **); -void Init_Asir(int,char **); -int Call_Asir(char *,void *); void int_handler(int); void set_debug_handles(int); int create_debug_gui(); @@ -124,7 +122,10 @@ void watch_intr() { if ( doing_batch ) send_intr(); /* for Asir; recv_intr is reset to 0 in Asir */ + enter_signal_cs(); recv_intr = 1; + leave_signal_cs(); + PulseEvent(hIntr_Ack); break; case WAIT_OBJECT_0+1: /* hKill */ default: @@ -150,13 +151,17 @@ void ox_watch_intr() { ResetEvent(hOxIntr); if ( doing_batch ) send_intr(); + enter_signal_cs(); recv_intr = 1; + leave_signal_cs(); break; case WAIT_OBJECT_0+1: /* hOxReset */ ResetEvent(hOxReset); if ( doing_batch ) send_intr(); + enter_signal_cs(); recv_intr = 2; + leave_signal_cs(); break; case WAIT_OBJECT_0+2: /* hOxKill */ ResetEvent(hOxKill); @@ -327,7 +332,9 @@ extern int wfep_mode; void Init_IO() { +#if _MSC_VER < 1910 _setargv(); +#endif if ( !strncmp(__argv[0],"ox_asir",strlen("ox_asir")) ) { /* ox_asir or ox_asir_wfep */ if ( !strcmp(__argv[0],"ox_asir_wfep") ) wfep_mode = 1;