=================================================================== RCS file: /home/cvs/OpenXM_contrib2/windows/engine2000/io.c,v retrieving revision 1.6 retrieving revision 1.9 diff -u -p -r1.6 -r1.9 --- OpenXM_contrib2/windows/engine2000/io.c 2006/02/08 05:31:37 1.6 +++ OpenXM_contrib2/windows/engine2000/io.c 2017/08/30 09:40:31 1.9 @@ -124,7 +124,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 +153,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); @@ -323,10 +330,14 @@ void set_debug_handles(int on) } } +extern int wfep_mode; + void Init_IO() { _setargv(); - if ( !strcmp(__argv[0],"ox_asir") ) { + 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; OxAsirMain(__argc,__argv); exit(0); } else if ( !strcmp(__argv[0],"ox_plot") )