=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2018/parse/gc_risa.c,v retrieving revision 1.1 retrieving revision 1.6 diff -u -p -r1.1 -r1.6 --- OpenXM_contrib2/asir2018/parse/gc_risa.c 2018/09/19 05:45:08 1.1 +++ OpenXM_contrib2/asir2018/parse/gc_risa.c 2022/03/30 05:55:34 1.6 @@ -1,4 +1,4 @@ -/* $OpenXM$ */ +/* $OpenXM: OpenXM_contrib2/asir2018/parse/gc_risa.c,v 1.5 2020/10/04 03:14:09 noro Exp $ */ #if defined(VISUAL) || defined(__MINGW32__) #include "private/gcconfig.h" @@ -7,25 +7,45 @@ #endif #endif #include "gc.h" +#include +#include #include #include void error(char *); void int_handler(); +void ox_usr1_handler(int sig); int *StackBottom; int in_gc, caught_intr; +#if defined(_WIN64) +extern int recv_intr; + void check_caught_intr() { + if ( caught_intr == 1 || recv_intr == 1 ) { + caught_intr = 0; recv_intr = 0; + int_handler(SIGINT); + } else if ( caught_intr == 2 || recv_intr == 2 ) { + caught_intr = 0; recv_intr = 0; + fprintf(stderr,"entering reset mode...\n"); + ox_usr1_handler(SIGUSR1); + } +} +#else +void check_caught_intr() +{ if ( caught_intr == 1 ) { caught_intr = 0; int_handler(SIGINT); } else if ( caught_intr == 2 ) { caught_intr = 0; + fprintf(stderr,"entering reset mode...\n"); ox_usr1_handler(SIGUSR1); - } + } } +#endif void *Risa_GC_malloc(size_t d) { @@ -240,27 +260,26 @@ extern int GC_free_space_numerator; void Risa_GC_get_adj(int *nm, int *dn) { *nm = GC_free_space_numerator; - *dn = GC_free_space_divisor; + *dn = GC_get_free_space_divisor(); } void Risa_GC_set_adj(int nm, int dn) { GC_free_space_numerator = nm; - GC_free_space_divisor = dn; + GC_set_free_space_divisor(dn); } #else void Risa_GC_get_adj(int *nm, int *dn) { *nm = 1; - *dn = GC_free_space_divisor; + *dn = GC_get_free_space_divisor(); } void Risa_GC_set_adj(int nm, int dn) { - GC_free_space_divisor = dn/nm; + GC_set_free_space_divisor(dn/nm); } - +#endif double GC_get_gctime() { return 0.0; } -#endif #if defined(MSWIN32) && !defined(VISUAL) && !defined(__MINGW32__) #include