Thanks Robert for your understanding. In conclusion, you think the signals are consumed at the time of context switch. I will keep this information in mind and see how all functions are connected.
Thanks Charles 2016-07-20 9:15 GMT-07:00 Robert Elz <k...@munnari.oz.au>: > Date: Wed, 20 Jul 2016 15:28:13 +0200 > From: Edgar =?iso-8859-1?B?RnXf?= <e...@math.uni-bonn.de> > Message-ID: <20160720132813.gr43...@trav.math.uni-bonn.de> > > | > so before any user code can execute again > | ... on this CPU. What about the other CPUs? Do all a processes LWPs > run > | on the same CPU? > > First, I am certainly no expert, or even particularly knowledgable on > threading, or lwps, or anything multi-processor related, so hopefully > someone who is will confirm or correct, but ... > > CPUs aren't really what is important here, what matters is that the > signal gets delivered to the process. Now it is certainly possible > that the target process is running on a different CPU than the one > which is delivering the signal - as I understand it, that is handled > by forcing the process to (effectively) enter the kernel so it has > to exit back to user space again, and when that happens it collects the > signal. The mechanism to make that happen I will leave for someone > else to provide details of. > > As I understand it, different LWPs can run on different CPUS, but again, > I'm not sure that is really relevant - most signals (all?) have processes > as a target, not LWPs. I believe signals are delivered to just one LWP. > How that one is selected/controlled I will leave for someone else... > > kre > >