$self->{shutdown_lock} = Thread::Semaphore->new();