=================================================================== RCS file: /home/cvs/OpenXM/src/asir-doc/int-parts/gc.texi,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- OpenXM/src/asir-doc/int-parts/gc.texi 2003/04/19 10:36:28 1.2 +++ OpenXM/src/asir-doc/int-parts/gc.texi 2012/12/27 05:50:01 1.3 @@ -1,4 +1,4 @@ -@comment $OpenXM: OpenXM/src/asir-doc/int-parts/gc.texi,v 1.1 2001/04/23 05:45:35 noro Exp $ +@comment $OpenXM: OpenXM/src/asir-doc/int-parts/gc.texi,v 1.2 2003/04/19 10:36:28 noro Exp $ \JP @chapter $B%a%b%j4IM}(B \EG @chapter Memory management @@ -48,6 +48,9 @@ p $B$N;X$9NN0h$r3+J|$9$k(B. Risa $B$G$O(B, $B$"$k $B%s%?$r4^$^$J$$$3$H$,J,$+$C$F$$$kNN0hMQ$K(B @code{GC_malloc_atomic()} $B$,MQ(B $B0U$5$l$F$$$k(B. GC $B%k!<%A%s$O(B, @code{GC_malloc_atomic()} $B$K$h$j3d$jEv$F$i(B $B$l$?NN0h$NFbIt$O%9%-%c%s$7$J$$$N$G(B, GC $B$N8zN($,NI$/$J$k(B. + +$B$J$*(B, version 7 $B0J9_$N(B GC $B$rMQ$$$F$$$k>l9g(B, $B$3$l$i$N4X?t$rD>@\8F$S=P$7$F(B +$B$O$$$1$J$$(B. $BI,$:A08e=hM}$D$-$N4X?t(B (@code{Risa_}$B$r$D$1$?$b$N(B)$B$r8F$S=P$9$3$H(B. \E \BEG @example @@ -149,6 +152,136 @@ P p1,p2,*pr; $BItJ,<0$,:G=*7k2L$KMQ$$$i$l$F$$$k$3$H$,$"$k$?$a(B, $BCm0U$,I,MW$G$"$k(B. $BFC$K(B, $BG[Ns$r=q$-49$($kI,MW$,$"$k>l9g$J$I$K$O(B, $BG[Ns$=$N$b$N$r?7$7$/@8@.$7$F(B, $B@.(B $BJ,$r%3%T!<$7$F$+$iMQ$$$kI,MW$,$"$k(B. +\E +\BEG +\E + +\JP @section GC version 7 $B$K4X$9$kCm0U(B +\EG @section Notices on GC version 7 + +\BJP +version 6 $B$^$G$N(B Boehm GC $B$K$*$$$F$O(B, GC $B$KF~$kA0$K$9$Y$F$N(B signal $B$r%^%9%/$7(B, +$B=P$?$"$H%^%9%/$r%/%j%"$9$k(B, $B$H$$$&A`:n$r<+F0E*$K9T$C$F$$$?(B. $B7k2L$H$7$F(B, +GC $BCf$KuBV$K$J$k2DG=@-(B +$B$,$"$k(B. $BH$G$-$J$/$J$C$?$j(B, $B=q$-49$o$C$?$j$H$$$&(B +$B$3$H$,5/$-$?(B. + +$B$3$l$KBP$9$kBP=hK!$H$7$F(B, @code{GC_malloc()} $B$J$I$N3d$jEv$F4X?t$rD>@\8F$S=P$5$:(B, $B$3$l$i$KBP$9$k(B +$BA08e=hM}$r9T$&4X?t$r8F$S=P$9$h$&$K$7$?(B. $BNc$($P(B @code{GC_malloc()} $B$KBP$9$k4X?t$Ol9g(B, SIGINT handler $B$G$"$k(B @code{int_handler()} +$B$G$O(B, $BC1$K(B @code{caught_intr} $B$r(B 1 $B$K$7$F2?$b$;$:$K(B return $B$9$k(B. +@example +extern int ox_int_received, critical_when_signal; +extern int in_gc, caught_intr; + +void int_handler(int sig) +@{ + extern NODE PVSS; + NODE t; + + + if ( do_file ) @{ + ExitAsir(); + @} + if ( critical_when_signal ) @{ + ox_int_received = 1; + return; + @} + if ( in_gc ) @{ + caught_intr = 1; + return; + @} + ... +@end example +GC $BCf$K(B SIGINT $B$,$"$C$?>l9g(B, @code{in_gc}$B$,(B 0 $B$H$J$C$?$"$H$K(B, +@code{caught_intr} $B$r(B0 $B$K$7$F(B SIGINT $B=hM}4X?t(B @code{int_handler()} $B$r8F(B +$B$S=P$9(B. $B$3$N$h$&$K$9$k$3$H$G(B, version 6 $B$HF1MM$K(B, GC $BFb$G$K(B +SIGUSR1 $B$rl9g(B, +$BCfCG$G$-$J$$(B OX $BDL?.4X?t$NA08e$G(B@code{begin_critical()}, +@code{end_critical()}$B$,l9g(B, OX server $BFb$G$N(B GC $BCf$K$l(B, @code{Risa_} $B$,$J$$4X?t$KBP1~$7$F$$$k(B. +$B$^$?(B, @samp{include/ca.h}$BFb$N%a%b%j3d$jEv$F4XO"%^%/%m$b(B, $B$9$Y$F(B +$B$3$l$i$NA08e=hM}$D$-4X?t$r8F$V$h$&$KJQ99$7$?(B. \E \BEG \E