simplified logic that controls how semaphores are propagates (preparing for semaphore escaping rule support)