I am reading "The Linux Programming Interface", where I find signal system call prototype as stated:
#include <signal.h>
void ( *signal(int sig, void (*handler)(int)) ) (int);
What is signal here is it function-pointer or simple function?
I want to understand the reason behind putting last (int).
How come signal() is returning last desposition of SIGXXXX despite having void return type?