pthread_mutex_cond_lock_full

上周使用pthread_cond_wait时遇到一个从来没见过的错误,程序core在这里:

../nptl/pthread_mutex_lock.c:350: __pthread_mutex_cond_lock_full: Assertion `(-(e)) != 3 || !robust' failed.

经过观察和分析,推断是mutex的状态被破坏了。
排查代码,主线程退出时,mutex对象被析构,些时恰好有一个纯程在使用它,于是就core了。

posted @ 2015-06-24 16:24  apricot  阅读(1427)  评论(0编辑  收藏  举报