I meant to follow this up earlier - this should either report the actual number, or we should prevent the semaphore from going <0