signal:advanced signal handling with sigaction

Use the more advanced signal registration and handler:

act.sa_flags     = SA_SIGINFO
act.sa_sigaction = sig_handler

Verification:

[hunter@FedoraCore16 signal]$ ./signal
I am 10101
Received signal: 15
Signal originates from process 10102

[hunter@FedoraCore16 signal]$ python
Python 2.7.3 (default, Jul 24 2012, 11:41:34)
[GCC 4.6.3 20120306 (Red Hat 4.6.3-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> import signal
>>> print os.getpid()
10102
>>> os.kill(10101, signal.SIGTERM)