change PollSynchronizer implementation with a Semaphore instead of a Lock