Hello Lloyd,
I appreciate your time and detailed response.
It seems to me that I should see the opposite behavior to what I am 
seeing based on the explanation that you provided.  That is:
If setting sync to true causes no buffering then I should actually 
observe the first two values (0 and 1) to be immediately output. 
Instead, I see the exception messages as I show above.  Since the 
exception does not get raised until i reaches a value of 2, I should see 
the 0 and 1 printed to the standard output and then I should see 
exception being printed to standard error?
Bharat

-- 
Posted via http://www.ruby-forum.com/.