SIGRTMIN usage

SIGRTMIN usage

Post by ccarve » Tue, 09 Jan 2001 08:56:48



I posted a question some time ago about how I could not gather the
process id from the sigaction. Andi Kleen gave a good answer that
the signal that was recieved has to be equal to or greater than
SIGRTMIN. Now before I go off and change SIGRTMIN to zero,
what effects will this have on my system? I did test what Andi said
and he's correct. If I send a signal >= SIGRTMIN, then my process
can see what process sent the signal. Currently I'm running at
kernel 2.2.13.

Basically the issue resolves around a robust signal handeling
function. It's EXTREMELY irritating to get debug logs back only to
find your process died from a signal, but no knowledge on who or
what sent the signal. So basically I want my signal handeling process
to gather all signals and then allow only certain processes to send it
a certain signal and log all other "invalid" signals and pid/proc names
to a log.

So basically by getting the pid I can figure out what process that is
sending the signal.

Chris Carver     ( C :"

 
 
 

SIGRTMIN usage

Post by Paul Sa » Tue, 09 Jan 2001 14:01:21



>Basically the issue resolves around a robust signal handeling
>function. It's EXTREMELY irritating to get debug logs back only to
>find your process died from a signal, but no knowledge on who or
>what sent the signal. So basically I want my signal handeling process
>to gather all signals and then allow only certain processes to send it
>a certain signal and log all other "invalid" signals and pid/proc names
>to a log.

If it's not obvious what may have sent the signal, it is probably sent by the
kernel and not via another process. It could be: SIGSEGV, SIGPIPE, etc. see
signal(7). It is probably a bug in the program.

--
The moon may be smaller than Earth, but it's further away.

 
 
 

1. Using kill_fasync for sig >= SIGRTMIN ?

I'm using kernel 2.4.20.

Is it possible to kill_fasync a signal >= SIGRTMIN to asynchronously notify
a user of the availability of data from a driver ?

It seems to me the code always sends a SIGIO instead.

Looking at fs/fnctl.c and kernel/signal.c, it appears to fail in
send_sig_info().

signal chosen is 40 ( lower than 64 on i386 )
bad_signal() , should not fail, except if kernel mode is not allowed to send
RT signals ...
then deliver_signal is called, which in turns call send_signal() .
rtsig-nr = 0  , rtsig-max = 1024, there is no reason to fail...

Any explanation would help, thank you.

Please CC me.

Francois Isabelle
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

2. Linux Install : Imation LS-120 SuperDisk problems

3. Quota-like limit on cpu-usage/memory-usage...

4. NVIDIA-9.0-5 + kernel 2.4.0

5. System info (cpu usage, memory usage, etc) using SNMP?

6. Printing Via Serial Port (HP Deskjet 500+Laserjet 4)

7. How can I get CPU usage & mem usage in my program?

8. Solaris and MS Windows Internet Sharing?

9. How to find out the cpu usage, real & virtual memory usage ?

10. LDAP configuration/usage questions

11. Monitor CPU and Memory usage

12. How to determine UDP buffer usage in Sun Solaris

13. Memory usage in Solaris