Debugging EV and Perl’s Signal Handlers

1 · Luke Triantafyllidis · March 23, 2019, midnight
A little while ago, I ran into a weird problem with a small Perl system that I had been developing. What followed was one of the more interesting debugging experiences of my career so far, involving digging into event loops, and how Perl and Linux handle signals. The program is made up of a non-blocking parent process, which, among other functions, is mainly responsible for supervising several child processes, spawning replacement children should any exit unexpectedly. The parent process uses An...