Are signals still processed after a workflow is done?

In the case where we have a signal scheduled for a certain workflow, and the workflow finishes before this signal is processed, is this signal lost and never processed?
To speek in more abstract terms, does ending the main thread of a workflow make any scheduled task for that workflow invalid (will never be consumed anymore)?
And how about the underway tasks? Are they killed or temporal waits for them to finish execution?

It is a workflow responsibility to finish processing of all the received signals before completing the workflow.

Temporal ensures that all signal handlers are called before unblocking the main workflow thread.