You should add a comment why synchronization is necessary here.
It's because another thread might alreday have send a signal to this thread, right?