pipe: use event aware wakeups