Program goes infinite when catching fork using signal

view story

http://stackoverflow.com – Hy every one , while doing some experiments using fork and signal , i have came across a program that shows very interesting behavior but after struggling hours with it , i couldn't figure out what is happening. What i am trying to do is i am creating a child process inside the main body and then printing "hello world" and then calling exit. After this it is totally understood that its signal handler will get called and also the parent process that is blocked by wait system call will also get called. Now i am creating another process in the signal handler but from there on, the output goes in (HowTos)