Wow, a lot of quality answers I was able to receive. You guys rock!
>hung IO operation, as you describe will totally block a thread from running as expected, even signals won't make it in.
This is true and I might be hitting this problem. Thank you for the tips on creating separate threads to avoid the hung IO. I am studying your example as I tried it on my box and it ran perfectly.