C/C++で、pthread_mutex_lock(...) した関数から抜けるとき、
unlock(...)することを保証するにはどうしたらよいでしょう?
returnで返る前には自分でunlockしていますが、longjmpやthrow
のときにはunlockされないので困っています。