Don't delay callbacks in the runloop.

This was especially a problem when -1 was sent as the timeout.