実行ファイルでpthreadを使用しようとしていますが、mutex :: lock()呼び出しでクラッシュしています。デバッガでは、__gthread_mutex_lock()への呼び出しが22の整数を返すstd_mutex.hでクラッシュが発生していることがわかります。pthreadロック戻りコード値とは何ですか?
私はそれを共有できないし、まだ小さなプログラムの問題です。この戻り値は、私が間違っている可能性があることを示唆していますか?
実行ファイルでpthreadを使用しようとしていますが、mutex :: lock()呼び出しでクラッシュしています。デバッガでは、__gthread_mutex_lock()への呼び出しが22の整数を返すstd_mutex.hでクラッシュが発生していることがわかります。pthreadロック戻りコード値とは何ですか?
私はそれを共有できないし、まだ小さなプログラムの問題です。この戻り値は、私が間違っている可能性があることを示唆していますか?
は、ここではいくつかの可能性がチェックするために、次のとおりです。
ここでは、重要な情報がないことを前提にしています。たとえば、これが再帰的なmutex、プロセス共有のmutex、またはその他の特別なプロパティを持っているかどうかを私たちに教えてくれると仮定しています。
リストありがとう!まさに私が探していたもの。 – dromodel
私は単純なロック()の直後にunlock()を試みましたが、それでもクラッシュします。それは(1)、(4)を排除する。ロックは動的に割り当てられますが、静的には使用されません(8)。これはコンストラクタで初期化されたクラスメンバ変数ポインタで、(7)を削除したものです。 (2)は可能ですが、ドキュメントに初期化は必要ありません。 (5)は常に可能ですが、クリティカルセクションを削除するとクラッシュがなくなりますので、ほとんどありません (6)再ロックで何が問題になっていますか?以前はロックが解除されていた限り libstdC++は静的にリンクされており、関連している可能性があります。我々は回避策を構築しなければならなかった。 – dromodel
http://pubs.opengroup.org/onlinepubs/7908799/xsh/pthread_mutex_lock.html – user0042
「これは独占的なプログラムなので、共有できないし、小さなプログラムでも問題を再現することはできない」そして誰かがあなたを助けることを期待していますか? – DimChtz
[pthread \ _mutex \ _lock]が重複している可能性があります(Cで22を返します)。(https://stackoverflow.com/questions/30511046/pthread-mutex-lock-returns-22-in-c) – user0042