Description of problem:
If "arping" utility is forked (using system() library function) from
a parent process in which SIGALRM signal is blocked then the system()
function call never returns.
The problem is that arping utility installs a SIGALRM handler but
does not bother to unblock it - so its logic does not work if it
inherited blocked SIGALRM.
Because of this, under certain circumstances it is impossible to bring up an interface configured by dhcp with ifup (since the /sbin/dhclient-script invokes arping for duplicate address detection).
Version-Release number of selected component (if applicable):
iputils-20020927-11 (original)
iputils-20121221-5 (mine)
How reproducible:
Always
Steps to Reproduce:
1.Block SIGALRM signal
2.Call srping utility ising system() library function
3.Observe that system() function never returns
Actual Results: The process hangs forever
Expected Results: The process should have exited