start implements signal
move semaphore object to global