=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/glob.c,v retrieving revision 1.65 retrieving revision 1.71 diff -u -p -r1.65 -r1.71 --- OpenXM_contrib2/asir2000/parse/glob.c 2006/02/24 01:15:57 1.65 +++ OpenXM_contrib2/asir2000/parse/glob.c 2007/09/19 05:56:01 1.71 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/parse/glob.c,v 1.64 2006/02/10 23:56:44 fujiwara Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/glob.c,v 1.70 2007/09/19 05:43:00 noro Exp $ */ #include "ca.h" #include "al.h" @@ -621,6 +621,14 @@ void ill_handler(int sig) #endif } +#if defined(__DARWIN__) +#define SIGNAL_FOR_TIMER SIGALRM +#define ITIMER_TYPE ITIMER_REAL +#else +#define SIGNAL_FOR_TIMER SIGVTALRM +#define ITIMER_TYPE ITIMER_VIRTUAL +#endif + void alrm_handler(int sig) { fprintf(stderr,"interval timer expired (VTALRM)\n"); @@ -679,7 +687,7 @@ void error(char *s) #if !defined(VISUAL) if ( !error_in_timer && timer_is_set ) - alrm_handler(SIGVTALRM); + alrm_handler(SIGNAL_FOR_TIMER); #endif fprintf(stderr,"%s\n",s); set_lasterror(s); @@ -716,7 +724,7 @@ void toplevel(char *s) #if !defined(VISUAL) if ( timer_is_set ) - alrm_handler(SIGVTALRM); + alrm_handler(SIGNAL_FOR_TIMER); #endif fprintf(stderr,"%s\n",s); if ( do_file ) { @@ -740,8 +748,8 @@ void set_timer(int interval) it.it_interval.tv_usec = 0; it.it_value.tv_sec = interval; it.it_value.tv_usec = 0; - setitimer(ITIMER_VIRTUAL,&it,0); - signal(SIGVTALRM,alrm_handler); + setitimer(ITIMER_TYPE,&it,0); + signal(SIGNAL_FOR_TIMER,alrm_handler); timer_is_set = 1; } @@ -753,8 +761,8 @@ void reset_timer() it.it_interval.tv_usec = 0; it.it_value.tv_sec = 0; it.it_value.tv_usec = 0; - setitimer(ITIMER_VIRTUAL,&it,0); - signal(SIGVTALRM,SIG_IGN); + setitimer(ITIMER_TYPE,&it,0); + signal(SIGNAL_FOR_TIMER,SIG_IGN); timer_is_set = 0; } #endif @@ -785,7 +793,7 @@ char *get_intervalversion() void copyright() { - char *format = "This is Risa/Asir%s, Version %d (%s Distribution).\nCopyright (C) 1994-2000, all rights reserved, FUJITSU LABORATORIES LIMITED.\nCopyright 2000-2006, Risa/Asir committers, http://www.openxm.org/.\nGC 6.5 Copyright 1988-2005, H-J. Boehm, A. J. Demers, Xerox, SGI, HP.\n%s"; + char *format = "This is Risa/Asir%s, Version %d (%s Distribution).\nCopyright (C) 1994-2000, all rights reserved, FUJITSU LABORATORIES LIMITED.\nCopyright 2000-2007, Risa/Asir committers, http://www.openxm.org/.\nGC 6.5 Copyright 1988-2005, H-J. Boehm, A. J. Demers, Xerox, SGI, HP.\n%s"; printf(format, get_intervalversion(), get_asir_version(), get_asir_distribution(), get_pariversion()); } @@ -794,7 +802,7 @@ char *scopyright() static char *notice; char *s1, *s2, *s3; int d, len; - char *format = "This is Risa/Asir%s, Version %d (%s Distribution).\nCopyright (C) 1994-2000, all rights reserved, FUJITSU LABORATORIES LIMITED.\nCopyright 2000-2006, Risa/Asir committers, http://www.openxm.org/.\nGC 6.5 copyright 1988-2005, H-J. Boehm, A. J. Demers, Xerox, SGI, HP.\n%s"; + char *format = "This is Risa/Asir%s, Version %d (%s Distribution).\nCopyright (C) 1994-2000, all rights reserved, FUJITSU LABORATORIES LIMITED.\nCopyright 2000-2007, Risa/Asir committers, http://www.openxm.org/.\nGC 6.5 copyright 1988-2005, H-J. Boehm, A. J. Demers, Xerox, SGI, HP.\n%s"; if (!notice) { s1 = get_intervalversion(); s2 = get_asir_distribution();