On Thu, 10 Jul 2008, Roland McGrath wrote:I have this dim memory of at least _some_ of this being on purpose. If you look at old kernels (_really_ old ones - I think it's way before even the historical git archive, but I didn't take a look), we used to set up several stack frames at once, so that we'd nest the stack frames completely. In other words, the code in do_signal() used to literally be a loop, something like while ((signr = get_signal_to_deliver(&info, &ka, regs, NULL)) > 0) { .. setup signal frame .. (No, I don't think that's at all accurate of the actual code we used to have - I just took the current do_signal() code as an example) And that explicit loop was removed in order for us to have just a single outstanding signal at a time. I forget the exact details why. But if you really want that behaviour, then re-introducing the loop would likely be the better approach (or should be combined), since I think you effectively just re-introduced it (at a much bigger granularity). Hmm. Linus --
| Hiten Pandya | Re: up? (emacs docbook xml ide) |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 005/196] Chinese: add translation of SubmittingDrivers |
| James Bottomley | Re: [Ksummit-2008-discuss] Fixing the Kernel Janitors project |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | [GIT]: Networking |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
