Applies signal to its wait.
true when a wait took it; false when there is no such wait, it already ended, or the signal is a duplicate.