Signal handlers in perl aren't 100% safe, at least not up until recently. (I think you need a perl in the 5.7.x range for safe signals) Because of that, this'll occasionally die, because perl does things in signal handlers that aren't legal. (No memory allocation allowed, for one)