eventfd: improve support for semaphore-like behavior