in reply to How to catch hung processes generated in a loop?

Moving the alarm(0) outside of the eval {} block doesn't change the behaviour, at least on my Solaris system.