From owner-FreeBSD-users-jp@jp.freebsd.org  Wed Feb 14 23:48:07 2001
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id XAA98413;
	Wed, 14 Feb 2001 23:48:07 +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 XAA98408
	for <FreeBSD-users-jp@jp.freebsd.org>; Wed, 14 Feb 2001 23:48:06 +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 XAA17213
	for <FreeBSD-users-jp@jp.freebsd.org>; Wed, 14 Feb 2001 23:48:05 +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 <0G8R008QU544XI@m.ecc.u-tokyo.ac.jp> for
 FreeBSD-users-jp@jp.freebsd.org; Wed, 14 Feb 2001 23:48:04 +0900 (JST)
Date: Wed, 14 Feb 2001 23:48:04 +0900
From: Kazunori Ueno <jagarl@creator.club.ne.jp>
 (=?iso-2022-jp?B?GyRCPmVMbk9CNSobKEI=?=)
In-reply-to: <20010214174853N.kk96106@mail.ecc.u-tokyo.ac.jp>
To: FreeBSD-users-jp@jp.freebsd.org
Message-id: <20010214234804N.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: 35
References: <20010213230025F.kk96106@mail.ecc.u-tokyo.ac.jp>
 <20010214102844A.takaha@pd.bs1.fc.nec.co.jp>
 <20010214174853N.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 59040
Subject: [FreeBSD-users-jp 59040] 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$G$9!#(B

pthread $B$r;H$&$H;R%W%m%;%9$,%7%0%J%k$r<u$1$?;~E@$G$*$+$7$/$J$k(B
$BLdBj$G$9$,!"M}M3$O$o$+$j$^$7$?!#0l1~$NBP=hK!$b$"$j$^$9!#(B

kernel $B$+$i(B process $B$K%7%0%J%k$,Aw$i$l$k$H!"(Bthread_sig_handler $B$,(B
$B8F$S=P$5$l$^$9!#(Bthread_sig_handler $B$O(B signal $B=hM}$N0Y$K8=:_$N(B thread $B$N(B
$B>uBV$r%9%?%C%/$KJ]B8$7$^$9!#$3$N:]!"!V(Bsignal$B=hM}3+;OA0$N(B
$B%9%l%C%I$N%9%?%C%/$N@hF,!W$KJ]B8$9$k$?$a!"(Bsigaltstack() $B$G(B
signal$B=hM}MQ$N%9%?%C%/$rJL$K@_Dj$7$F$J$$>l9g!"<+J,<+?H$N(B
$B%9%?%C%/$rGK2u$7$^$9!#(B(thread_sigframe_add$BFb(B)

$BK\Mh!"(Bthread $B$N=i4|2=;~$K(B sigaltstack() $B$,8F$P$l$k$3$H$G$3$N$h$&$J(B
$B$3$H$O2sHr$5$l$k$O$:$J$N$G$9$,!"(Bfork() $B$r9T$&$H(B sigaltstack() $B$N(B
$B@_DjFbMF$,>C5n$5$l$^$9!#$=$N$?$a(B sigaltstack()$B$NFbMF$r:F@_Dj$9$kI,MW$,(B
$B$"$k$N$G$9$,!"$=$l$,9T$o$l$F$J$$$N$GLdBj$,$*$-$^$9!#(B

fork() $B$NF0:n$KLdBj$,$"$k$;$$$G$9$+$i!"(Bfork() $BD>8e$K(B sigaltstack() $B$r(B
$B<B9T$9$l$PLdBj$O2r7h$7$^$9!#(B-pthread $B$r$D$1$k$H(B sigaltstack() $B$O(B
$B;H$($J$/$J$k$N$G!"Be$o$j$K(B_thread_sys_sigaltstack()$B$r;H$$!"(B
	if (fork() == 0) {
	   stack_t sa;
	   _thread_sys_sigaltstack(0,&sa);
	   sa.ss_flags = 0;
	   _thread_sys_sigaltstack(sa,0);
	   ...
	}
$B$H$9$l$PBg>fIW$G$9!#(B

$B!t<B:]$K(B fork $B$NF0:n$KLdBj$,$"$k$N$+$O$o$+$j$^$;$s$,!"(B
$B!t$9$/$J$/$H$b(B libc_r $B$,4|BT$9$kF0:n$O$7$F$$$^$;$s!#(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
