From: Tanaka Akira Date: 2000-11-28T12:07:33+09:00 Subject: [ruby-list:26208] Re: fork problem? In article , matz@zetabits.com (Yukihiro Matsumoto) writes: > $B!V(Bseek$B$7$J$$$H=q$-9~$_$rJ]>Z$7$J$$!W$H(Bman page$B$K=q$$$F$"$j$^(B > $B$7$?!#(BRuby$B$G$OAPJ}8~%9%H%j!<%`$b07$&$N$G$=$l$OK>$^$7$/$J$$$G(B > $B$9$h$M!#(B $B$(!<$H!"(Bfdopen $B$NOC$G$9$h$M!#$3$l$O$^$!IaDL$N%U%!%$%k$r%P%C%U%!%j%s%0(B $B$7$F07$C$?;~$N$3$H$r9M$($l$PM}2r$G$-$k;EMM$G$O$"$j$^$9!#(B $B<+F0E*$K(B seek $B$7$F$/$l$k$+!"L@<(E*$K(B seek $B$7$J$$$H$$$1$J$$$+$O$H$b$+$/!"(B $BFbItE*$K(B seek $B$,H/9T$5$l$k$N$O;EJ}$,$J$$$N$G$7$g$&!#(B (seek $B$r$;$:!"FI$_9~$_;~$K%P%C%U%!%j%s%0$r$7!"9%$->! |$B$=$&$$$&LdBj$,$"$k$3$H$OIT3P$K$b5$$,$D$$$F$$$^(B > |$B$;$s$G$7$?$,!"$R$H$D$N(B fd $B$KBP$7$F(B 2$B2s(B fdopen $B$9$k$9$k$o$1$K$O$$$+$J$$(B > |$B$s$G$7$g$&$+(B? > |($BJRJ}$G$7$+(B close $B$G$-$J$$$+$i(B memory leak $B$7$F$7$^$&$+(B?) > > $B$=$&;W$C$F:#$O(Bdup$B$7$F$$$k$o$1$G$9!#$b$&$A$g$C$HD4::$,I,MW$G(B > $B$7$g$&$+!)(B fclose(3)$B$N%(%i!<$rL5;k$9$l$P!"LdBj$J$$$N$+$J$"!#(B fd = fileno(f) tmpflag = fcntl(fd, F_GETFD); tmpfd = dup(fd) fclose(f) dup2(tmpfd, fd) fcntl(fd, F_SETFD, tmpflag); close(tmpfd) $B$H$9$l$PHf3SE*2:$d$+$K(B close $BH4$-$N(B fclose $B$HEy2A$J$3$H$,$G$-$k$3$H$K(B $B5$$,$D$-$^$7$?!#(B $B$^$!!"7k6I(B close $B$9$k$J$i%(%i!<$rL5;k$9$k$N$,0lHV$@$H;W$$$^$9!#5$$K$J(B $B$k$J$i(B errno $B$,(B EBADF $B$G$"$k$3$H$r3NG'$7$F$*$/$3$H$b$G$-$^$9$7!#(B > |> IO#fcntl$B$d(BIO#ioctl$B$,(Bf$B$H(Bf2$B$NN>J}$K(Bfcntl(2), ioctl(2)$B$r8F$Y$P(B > |> $B:Q$`LdBj$@$H$$$$$s$G$9$,!"$I$&$J$s$G$7$g$&!)(B > | > |$B$=$l$G$b:Q$_$^$9!#$?$V$s!#(B > > CVS$B:G?7$G$O$=$&$7$F$_$^$7$?!#(B $B3NG'$7$F$_$^$7$?!#(Bfcntl $B$G(B file descriptor $B$N7Q>5$r$A$c$s$HKI$0$3$H$,(B $B$G$-$F$$$^$9!#(B $B$^$!!"(Bclose-on-exec $B$K$D$$$F$O$3$l$G$$$$$H$7$F$b!"B>$N$b$N$G:$$j$=$&$G(B $B$9$,!#$H$j$"$($:(B F_DUPFD $B$O$^$:$$$G$9$M!#(B $B$d$O$j(B f2 $B$O%H%i%V%k$N85$@$H;W$$$^$9!#(Bfcntl $B$N$h$&$JDc%l%Y%k$JA`:n$r;H(B $B$&$H$9$0$KLq2p;v$,=P$F$-$^$9!#(B # fcntl $B$H$$$($P!"(BO_NONBLOCK $B$K$7$F(B IO#read $B$7$F(B EAGAIN $B$K$J$k$HESCf$^(B # $B$GFI$s$@$V$s$,>xH/$7$F$7$^$&!"$H$$$&OC$OJs9p$7$^$7$?$C$1(B? > |> $B$$$C$=!"(Bfork_and_kill_other_threads$B$r(Bfork$B$NI8=`;EMM$K$7$A$c(B > |> $B$$$^$7$g$&$+!#(B > | > |$B;?@.$G$9!#(B > > CVS$B:G?7$G$O$=$&$7$F$_$^$7$?!#(B $B3NG'$7$F$_$^$7$?!#$A$c$s$H(B thread $B$,>C$($F$$$^$9!#(B -- [$BEDCf(B $BE/(B][$B$?$J$+(B $B$"$-$i(B][Tanaka Akira] $B!V$/$C$@$i$J$$%3%HJ9$$$A$c$C$?$M!<$(C"=(B $B$4$C$a!<$s$(C"=$B!W(B ($BKbK!;H$$M\@.@lLg(B $B%^%8%C%/%9%?!<3X1!(B 2, $BFn_7%_%E%-(B)