отменяемый поток при этом находится в pthread_cond_wait()
т.е есть такая картина: 1) поток A - делает pthread_cleanup_push(cleanup_handler, &some_mutex) после чего висит на pthread_cond_wait()
2) поток Б - делает pthread_cancel(&threadA)
согласно POSIX должен вызваться cleanup_handler, но этого почему-то не происходит :(