Failing to initialize tickpos was causing heapremove to remove the wrong conn from the heap. (This would be more thoroughly fixed by redesigning Heap so that zero is used for an item that's not in the heap.)
Restore the EV_PERSIST flag, so we continue reading or writing data if we aren't done yet.
This helps us to avoid off-by-one and roundoff errors that crop up with one-second-granularity timers. Also makes it easier in the future to allow clients to specify hi-res time intervals. Closes gh-5.
If the job has an id, it is a "real" job and should only be freed by a delete command.
…uest." This reverts commit 1ca60f5. The user-requested timeout might happen later than the soonest job timeout. They must be compared.