gui using semaphore for udp comm