The stall is happening from inside the handlers. Commenting out the hash->len and associated block inside the handlers resolves the stall. But then, we're back to square one in wanting to display the contents.
I'm on the road, my dad has fallen ill. I'm not myself lately. Am accepting that life is shorter each day. We only have little time with our parents. Your example is great. Signal handling is not fun. I do not understand why the END block isn't called. Will try setting the handlers to DEFAULT and other things including having the END block.
Thank you 1nickt for this test case.