私はスレッドを使用するのが初めてで、スレッドで動作するキューを作成することをお勧めします。しかし、何かがおかしいです。消費者スレッドが同じデータまたは何かにアクセスしようとしていると思われます。私はミューテックスを使用していますが、おそらく何かを誤解しています...
このエラーが発生します(約3回の実行ごとに):
*** glibc detected *** ./t_queue_test: double free or corruption (fasttop): 0x0000000002114610 ***
コードはかなり長いので、pastebin に投稿しましたが、それが間違っている場合は、ここに貼り付けることができます。
t_queue.h -> http://pastebin.com/2KYmujeE
t_queue.c -> http://pastebin.com/1wZPMwDB
t_queue_test.c -> http://pastebin.com/QKCTQWaf
関数 'get_q' でエラーが発生したと思われ、コードでマークしました。
ポインタや提案をありがとう。同様の質問についてstackoverflowを掘り下げましたが、さらに掘り下げます。Valgrind もまだ何も表示されません。