Re: Signal delivery

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi
Need to clarify some concepts about signaling mechanism in linux kernel
2.4 and 2.6 ?

What time the signal to a process is really delivered --
1. After moving from kernel space to user space - yes
personal comment: yes, if it returns to the target process that received the signal. Just to be precise. And I think what you really mean here is actually "handled", because signal is actually queued right at the time other process send a signal to it.

2. After the process in kernel space wakes up from
interruptible/uninterruptible sleep -- ??

Ok, do you mean "handled"? As far as I can tell by looking from the code, unless you manually check the sigpending flag, returning to kernel space after a sleep won't make a signal handler executed.
3. Can a kernel thread be signaled ? What time does it check for its pending
signals ?
I forgot the detail, but yes basically you can do that. Of course, it doesn't check by default. it is you that must check the sigpending manually. Usually, all the kernel threads block all the signal (IIRC from kthread_create() ) so you must manually unblock the spesific signal number.
4. Can a user process signal a kernel thread (visible through ps), or only
another kernel process can do that ? How is it implemented ?

See above.

regards,

Mulyadi


--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux