[BACK]Return to gc_risa.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / parse

Diff for /OpenXM_contrib2/asir2000/parse/gc_risa.c between version 1.16 and 1.17

version 1.16, 2015/08/14 13:51:56 version 1.17, 2017/08/30 09:40:30
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/parse/gc_risa.c,v 1.15 2015/08/06 10:55:52 fujimoto Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/parse/gc_risa.c,v 1.16 2015/08/14 13:51:56 fujimoto Exp $ */
   
 #if defined(VISUAL) || defined(__MINGW32__)  #if defined(VISUAL) || defined(__MINGW32__)
 #include "private/gcconfig.h"  #include "private/gcconfig.h"
 #endif  #endif
 #include "gc.h"  #include "gc.h"
 #include <time.h>  #include <time.h>
   #include <signal.h>
   
 void error(char *);  void error(char *);
 void int_handler();  void int_handler();
Line 12  void int_handler();
Line 13  void int_handler();
 int *StackBottom;  int *StackBottom;
 int in_gc, caught_intr;  int in_gc, caught_intr;
   
   void check_caught_intr()
   {
           if ( caught_intr ) {
                   caught_intr = 0;
                   int_handler(SIGINT);
           }
   }
   
 void *Risa_GC_malloc(size_t d)  void *Risa_GC_malloc(size_t d)
 {  {
         void *ret;          void *ret;
Line 19  void *Risa_GC_malloc(size_t d)
Line 28  void *Risa_GC_malloc(size_t d)
         in_gc = 1;          in_gc = 1;
         ret = (void *)GC_malloc(d);          ret = (void *)GC_malloc(d);
         in_gc = 0;          in_gc = 0;
         if ( caught_intr ) { caught_intr = 0; int_handler(); }          check_caught_intr();
         if ( !ret )          if ( !ret )
                 error("GC_malloc : failed to allocate memory");                  error("GC_malloc : failed to allocate memory");
         return ret;          return ret;
Line 32  void *Risa_GC_malloc_atomic(size_t d)
Line 41  void *Risa_GC_malloc_atomic(size_t d)
         in_gc = 1;          in_gc = 1;
         ret = (void *)GC_malloc_atomic(d);          ret = (void *)GC_malloc_atomic(d);
         in_gc = 0;          in_gc = 0;
         if ( caught_intr ) { caught_intr = 0; int_handler(); }          check_caught_intr();
         if ( !ret )          if ( !ret )
                 error("GC_malloc_atomic : failed to allocate memory");                  error("GC_malloc_atomic : failed to allocate memory");
         return ret;          return ret;
Line 45  void *Risa_GC_malloc_atomic_ignore_off_page(size_t d)
Line 54  void *Risa_GC_malloc_atomic_ignore_off_page(size_t d)
         in_gc = 1;          in_gc = 1;
         ret = (void *)GC_malloc_atomic_ignore_off_page(d);          ret = (void *)GC_malloc_atomic_ignore_off_page(d);
         in_gc = 0;          in_gc = 0;
         if ( caught_intr ) { caught_intr = 0; int_handler(); }          check_caught_intr();
         if ( !ret )          if ( !ret )
                 error("GC_malloc_atomic_ignore_off_page : failed to allocate memory");                  error("GC_malloc_atomic_ignore_off_page : failed to allocate memory");
         return ret;          return ret;
Line 58  void *Risa_GC_realloc(void *p,size_t d)
Line 67  void *Risa_GC_realloc(void *p,size_t d)
         in_gc = 1;          in_gc = 1;
         ret = (void *)GC_realloc(p,d);          ret = (void *)GC_realloc(p,d);
         in_gc = 0;          in_gc = 0;
         if ( caught_intr ) { caught_intr = 0; int_handler(); }          check_caught_intr();
         if ( !ret )          if ( !ret )
                 error("GC_realloc : failed to reallocate memory");                  error("GC_realloc : failed to reallocate memory");
         return ret;          return ret;
Line 69  void Risa_GC_free(void *p)
Line 78  void Risa_GC_free(void *p)
         in_gc = 1;          in_gc = 1;
         GC_free(p);          GC_free(p);
         in_gc = 0;          in_gc = 0;
         if ( caught_intr ) { caught_intr = 0; int_handler(); }          check_caught_intr();
 }  }
   
 size_t get_heapsize()  size_t get_heapsize()
Line 116  void send_intr();
Line 125  void send_intr();
   
 BOOL set_ctrlc_flag(DWORD type)  BOOL set_ctrlc_flag(DWORD type)
 {  {
         if ( doing_batch )          enter_signal_cs();
           if ( doing_batch ) {
                 send_intr();                  send_intr();
         else          }else {
                 recv_intr = 1;                  recv_intr = 1;
           }
           leave_signal_cs();
         return TRUE;          return TRUE;
 }  }
   
Line 289  int c;
Line 301  int c;
 #else  #else
                 if ( c == ('c' & 037 ) )                  if ( c == ('c' & 037 ) )
 #endif  #endif
                         int_handler();                          int_handler(SIGINT);
 }  }
 #endif  #endif

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>