I think it is OK for the semaphore to go negative so I will expose the situation here.