=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/ox.c,v retrieving revision 1.17 retrieving revision 1.19 diff -u -p -r1.17 -r1.19 --- OpenXM_contrib2/asir2000/io/ox.c 2002/10/03 03:35:08 1.17 +++ OpenXM_contrib2/asir2000/io/ox.c 2003/02/14 22:29:15 1.19 @@ -44,7 +44,7 @@ * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. - * $OpenXM: OpenXM_contrib2/asir2000/io/ox.c,v 1.16 2002/08/02 02:41:03 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/io/ox.c,v 1.18 2002/12/09 00:42:14 noro Exp $ */ #include "ca.h" #include "parse.h" @@ -400,6 +400,8 @@ void end_critical() { } } +extern FUNC registered_handler; + void ox_usr1_handler(int sig) { #if !defined(VISUAL) @@ -410,6 +412,12 @@ void ox_usr1_handler(int sig) ox_usr1_sent = 1; } else { ox_flushing = 1; + if ( registered_handler ) { + fprintf(stderr, + "usr1 : calling the registered exception handler..."); + bevalf(registered_handler,0); + fprintf(stderr, "done.\n"); + } ox_resetenv("usr1 : return to toplevel by SIGUSR1"); } } @@ -437,7 +445,7 @@ void clear_readbuffer() */ } -#if MPI +#if defined(MPI) int ox_data_is_available(int s) { return 1; @@ -726,7 +734,7 @@ void ox_flush_stream(int s) if ( _fileno(&iofp[s].out->fp) < 0 ) cflush(iofp[s].out); else -#elif MPI +#elif defined(MPI) if ( (char)fileno(&iofp[s].out->fp) < 0 ) cflush(iofp[s].out); else @@ -740,7 +748,7 @@ void ox_flush_stream_force(int s) if ( _fileno(&iofp[s].out->fp) < 0 ) cflush(iofp[s].out); else -#elif MPI +#elif defined(MPI) if ( (char)fileno(&iofp[s].out->fp) < 0 ) cflush(iofp[s].out); else