Do you mean you are using signal and wait for signal within the same function?
No, I'm using them in different functions. I'll wait for signal in one function, call another, and have that one send the signal once it's done. I'll typically do this multiple times per function using different signals.
For example I'll have one main function that calls several separate functions all with their own task, and I'll have each send a signal once they've concluded to tell the main function to continue. I can confirm that when a signal has failed to be received, that the actions directly before and after the signal being sent play out just fine. The signal itself is either ignored somehow, or doesn't send.