sema_trywait
#define down_trylock(_sem) !sema_trywait(&(_sem)->sema)
rc = sema_trywait(&sem->sem);
if (sema_trywait(*pSid)) {