What platform did it freeze on? You may want to file a bug report.
I'm not sure what the behaviour of \n\r will be on different platforms.
I'm QUITE sure that using \012\015 is a bad idea. What if the
poor user is running on a EBCDIC system? \n\r has a chance
of doing the right thing, \012\015 doesn't.
You solution with signals does answer the original question,
but the point wasn't to solve that problem perfectly, it was to introduce POE. Besides, you didn't implement command-line history or editing :)) (j/k)