there was no infinite loop in prev commit

or at least reasonably sure. hopefully I don't have a third commit shortly
backtracking this backtrack. The other one was most likely caused by a bad
build, given that event_del() was most certainly called but the event was
still linked in the libevent queue somehow.