Date: Tue, 1 Oct 2002 11:24:07 -0400 (EDT) From: Robert Watson <rwatson@FreeBSD.org> To: John Baldwin <jhb@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_synch.c Message-ID: <Pine.NEB.3.96L.1021001111753.32141A-100000@fledge.watson.org> In-Reply-To: <200210011410.g91EA9EZ026286@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 1 Oct 2002, John Baldwin wrote: > jhb 2002/10/01 07:10:09 PDT > > Modified files: > sys/kern kern_synch.c > Log: > - Adjust comment noting that handling of CPU limit exhaustion is done in > ast(). > - Actually set KEF_ASTPENDING so ast() is called. I think this is buggy > for a process with multiple KSE's in that PS_XCPU is not a KSE event, > it's a process-wide event. IMO there really should probably be two > ASTPENDING flags, one for per-process, and one for per-KSE. Yeah, the notion of signals and threads is still a bit cloudy in my mind. Some signals are clearly at the scope of the process: SIGKILL, SIGXCPU, etc, apply to process-wide conditions, often managed using POSIX process conventions (PIDs, etc). Other signals are generated in response to execution flow issues -- SIGSEGV is just one example of that, and are generated by a KSE, but presumably intended for a thread at the user level. Finally, those KSE/Thread disposition signals can also be generated and delivered to the process as a whole: for example, kill -SEGV <blah>, or even kill(getpid(), SIGSEGV). I agree that we probably do need to know how to handle the idea of certain classes of traps/events being handled at the process level (taken by the first available or designated KSE), and others being taken at the level of the KSE in response to KSE event (floating point exception). All rather confusing, really. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Network Associates Laboratories To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1021001111753.32141A-100000>