How to send a signal from inside the kernel?
    Aziz KEZZOU 
    opensource.enthousiat at gmail.com
       
    Thu Mar 17 09:34:07 PST 2005
    
    
  
Hi all,
I would like to send a signal (e.g SIGUSR1) to a user process from
inside the kernel (kld module).
Can any one tell me how to do it ?
I tried the following code inspired from sys/kern/kern_sig.c :
==============================================================
#include <sys/types.h> 
#include <sys/signal.h>
int process_pid;
struct kill_args {
	int	pid;
	int	signum;
};
void send_SIGUSR1() {
  struct kill_args uap;
  uap.pid = process_pid;
  uap.signum = SIGUSR1;  
  kill((struct thread *)0, &uap);
}
===============================================================
but that causes a page fault in kernel mode (ie. Kernel panic :-)
Any help is appreciated, thanks.
Aziz
    
    
More information about the freebsd-hackers
mailing list