From owner-FreeBSD-users-jp@jp.freebsd.org  Thu Feb 15 20:11:52 2001
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id UAA08791;
	Thu, 15 Feb 2001 20:11:52 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from mail2.ecc.u-tokyo.ac.jp (mail2.ecc.u-tokyo.ac.jp [130.69.250.23])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id UAA08786
	for <FreeBSD-users-jp@jp.freebsd.org>; Thu, 15 Feb 2001 20:11:52 +0900 (JST)
	(envelope-from kk96106@mail.ecc.u-tokyo.ac.jp)
Received: from m.ecc.u-tokyo.ac.jp (mail.ecc.u-tokyo.ac.jp [133.11.171.196])
	by mail2.ecc.u-tokyo.ac.jp (8.9.3/3.7W) with ESMTP id UAA04676
	for <FreeBSD-users-jp@jp.freebsd.org>; Thu, 15 Feb 2001 20:11:21 +0900 (JST)
Received: from localhost ([133.11.172.104])
 by m.ecc.u-tokyo.ac.jp (Sun Internet Mail Server sims.3.5.1999.03.02.17.58.p5)
 with ESMTP id <0G8S00LBZPQWLT@m.ecc.u-tokyo.ac.jp> for
 FreeBSD-users-jp@jp.freebsd.org; Thu, 15 Feb 2001 20:11:21 +0900 (JST)
Date: Thu, 15 Feb 2001 20:11:21 +0900
From: Kazunori Ueno <jagarl@creator.club.ne.jp>
 (=?iso-2022-jp?B?GyRCPmVMbk9CNSobKEI=?=)
In-reply-to: <20010214234804N.kk96106@mail.ecc.u-tokyo.ac.jp>
To: FreeBSD-users-jp@jp.freebsd.org
Message-id: <20010215201121D.kk96106@mail.ecc.u-tokyo.ac.jp>
MIME-version: 1.0
X-Mailer: Mew version 1.94.1 on XEmacs 21.1 (Channel Islands)
Content-type: Text/Plain; charset=iso-2022-jp
Content-transfer-encoding: 7bit
X-Dispatcher: imput version 20000228(IM140)
Lines: 52
References: <20010214102844A.takaha@pd.bs1.fc.nec.co.jp>
 <20010214174853N.kk96106@mail.ecc.u-tokyo.ac.jp>
 <20010214234804N.kk96106@mail.ecc.u-tokyo.ac.jp>
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 59081
Subject: [FreeBSD-users-jp 59081] Re: pthread error?
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: kk96106@mail.ecc.u-tokyo.ac.jp

$B$3$s$K$A$O!">eLn!wElBg?7NN0h$G$9!#(B

$B9b66$5$s$,Ax6x$7$?LdBj$K$D$$$F$bD4$Y$F(B
$B$_$?$N$G$9$,!"$d$O$j(B pthread $B$N%P%0$G$7$?!#(B

$B$"$^$j>\$7$/$OD4$Y$F$^$;$s$,!"(B

$B!&(Bpthread $BMQ$N%7%0%J%k%O%s%I%i$rDL$5$J$$$H(B sigmask $B$d(B
  sigwait $B$O$-$A$s$HF0$+$J$$(B

$B!&$3$N(B pthread $BMQ%7%0%J%k%O%s%I%i$O(B signal() $B$d(B sigaction() $B$G(B
  $BM-8z$J!J(BSIG_IGN,SIG_DFL $B0J30$N!K%7%0%J%k%O%s%I%i$rEO$9$3$H$G(B
  kernel $B$K@_Dj$5$l$k!#(B
  $B@_Dj$7$F$J$$>l9g!"(Bkernel $B$O!J(Bpthread $BMQ$N%7%0%J%k%O%s%I%i$r2p$5$:$K!K(B
$B!!(BSIG_DFL $B$NF0:n$r9T$&$N$G(B sigwait / sigmask $B$J$I$N@_Dj$OL5;k$5$l$F$7$^$&(B

$B$H$$$&$N$,M}M3$N$h$&$G$9!#$G$9$+$i!"%W%m%0%i%`$N:G=i$G(B
void handler(int sig) {
     _exit(0);
}

int main(void) {
    ...
    signal(SIGTERM, handler);
    ...
}
$B$N$h$&$KE,Ev$K(B signal() $B$r$O$5$a$P!"M=4|$7$?$H$*$j$NF0:n$K(B
$B$J$k$h$&$G$9!#(B

$B!t$A$J$_$K!"(Bthread $B$O4X78$J$$$N$G(B pthread $BIU$-$G(B sigprocmask() $B$r;H$&$h$&$J(B
$B!t%W%m%0%i%`$r;H$&$@$1$G$bLdBj$O:F8=$9$k$_$?$$$G$9!#(B(sigprocmask() $B$NFbMF$,L5;k$5$l$k(B)

$B!t(B2/8 $B$N(B snapshot $B$N(B libc_r$B$r$_$F$b$3$NLdBj$,2r7h$5$l$F$$$k$H$O(B
$B!t;W$($J$$$N$G(B send-pr $B$7$?J}$,$$$$$H$*$b$&$N$G$9$,!"$I$&$7$^$7$g$&!)!d9b66$5$s(B
$B!t(Bfork() $B$NLdBj$NJ}$O$5$C$-(B send-pr $B$7$?$N$G$9$,!#(B

$B$H$3$m$G!"$$$m$$$mD4$Y$F$$$F5$$K$J$C$?$3$H$,$"$j$^$9!#(B

$B%9%?%C%/$N@hF,$KNN0h$r3NJ]$9$k:]$K(B uthread_sig.c $BFb$G!V(Besp $B$rNN0h$N%5%$%:$@$1(B
$B8:$i$7$F$U$?$?$S@_Dj$9$k!W$H$$$&$3$H$r$7$F$$$^$9!#(BIA32 $B$N(B CPU $B$J$i(B
$B$$$$$N$G$9$,!"(Balpha $B$J$I$N(B CPU $B$G$O$3$l$GBg>fIW$J$N$G$7$g$&$+!)(B

$B!t$?$V$sBg>fIW$J$s$G$7$g$&$1$I!"(Balpha $B$N%9%?%C%/$NJ}8~$,0c$C$?$j$7$?$i(B
$B!tHa7`$@$J$"!"$H!#(B


                            $B#J#A#G#A#R#L!y(Bjagarl@creator.club.ne.jp
                                        $B!z(Bkk96106@mail.ecc.u-tokyo.ac.jp
                                        $B!y(Bjagarl@mrj.biglobe.ne.jp



