helgrind说“ Bug in libpthread”

时间:2018-10-26 10:30:20

标签: pthreads conditional-statements valgrind

我正在运行helgrind来检查程序中的数据竞赛。 Helgrind报告了222个错误,所有错误均为:

if (keyPress) {
  /* Do your stuff. */
  keyPress = 0;
}

我在Google上找不到与此错误消息有关的任何内容。在valgrind源代码中,这似乎起源于此:

Thread #21: Bug in libpthread: pthread_cond_wait succeeded without prior pthread_cond_post

但是,我不敢相信我在大约一秒钟内收到了222次虚假唤醒。

这可能是什么原因?

在共享内存中有两个条件变量。错误似乎总是发生在其中一个而不是另一个上。

0 个答案:

没有答案