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