Implement semaphore extension