B_RELEASE_IF_WAITING_ONLY
#define wakeup(i) release_sem_etc(i->Sem, 0, B_RELEASE_IF_WAITING_ONLY | B_RELEASE_ALL)
release_sem_etc(fNotify, 1, B_RELEASE_IF_WAITING_ONLY
release_sem_etc(fNotify, 1, B_RELEASE_IF_WAITING_ONLY
if (release_sem_etc(device->read_sem, 1, B_RELEASE_IF_WAITING_ONLY) == B_OK)
release_sem_etc(fNotifySem, 1, B_RELEASE_IF_WAITING_ONLY);
flags |= B_RELEASE_IF_WAITING_ONLY;
if ((flags & B_RELEASE_IF_WAITING_ONLY) == 0) {