Date: Mon, 21 Jun 2004 10:36:04 -0400 (EDT) From: Daniel Eischen <eischen@vigrid.com> To: Sean McNeil <sean@mcneil.com> Cc: freebsd-threads@freebsd.org Subject: Re: kill(pid,0) sends a signal or not? Message-ID: <Pine.GSO.4.10.10406211032360.28158-100000@pcnet5.pcnet.com> In-Reply-To: <1087794678.46146.4.camel@server.mcneil.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 20 Jun 2004, Sean McNeil wrote: > I'm trying to trace down an issue with kse threads and firefox. There > is an odd "trick" I haven't seen before: > > // kill(pid,0) is a neat trick to check if a > // process exists > if (kill(pid, 0) == 0 || errno != ESRCH) > > Does this really work? It is kind of odd that it I appear to get a > signal (if the traceback is accurate) with the signal set to 0: > > #10 0x0000000202bc7a80 in thr_resume_wrapper (sig=0, siginfo=0x4, > ucp=0x7fffffffd4c0) at /usr/src/lib/libpthread/thread/thr_kern.c:1112 > > This later causes a sig 11 and the program core dumps. > > Any info on how threads are suppose to behave when a process does a > kill(pid,0) would be greatly appreciated. kill(pid, 0) shouldn't result in a signal. libpthread doesn't do anything with kill() and the kernel shouldn't cause a signal for 0 either. What does ktrace show? -- Dan Eischen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10406211032360.28158-100000>