So anyway, I decided to write a small test program:
Code: Select all
void func(int sig)
{
printf("Recieved signal: %d\n", sig);
}
... in main
signal(10, &func);
raise(10);
I then did a grep -r "_raise_r" ./libc/ in case I was missing something. I was. There is a *second* definition of raise(), in signal.c. This one calls a locally defined handler if one exists.
So, my question is - does anyone know why there are two definitions of the same function in two different files in the same directory: raise.c and signal.c ??
It seems strange.
Cheers,
JamesM