I'm having an issue when waiting on a pthread condition variable from the main thread and then a signal handler runs, which should cancel the wait since I have cancellation points enabled, however this did not happen.
I don't understand this either. A signal will not, in general, cause a task to be killed. The DEFAULT behavior of some signals (if enabled) will kill the task.
However, if you have connected a signal handler via sigaction(), then you have also disabled the default behavior and the task will not be killed.