Next: User defined module data, Previous: Modules for libltdl, Up: Using libltdl
lt_dlmutex_register()
関数を使用し,適切なコールバック関数の定義
を提供することで,libltdlをマルチスレッド環境で使用することが可能です.
これは,ミューテックスロックが必要なlibltdlの実装コードの部分の,最初 に呼び出される関数のアドレスを持っている,関数のポインタ型です.
libltdlは本質的に再帰的なので,これらのコールバック関数によって使用さ れるロックメカニズムが再入可能であることは重要で,そうでなければ,おか しな問題が発生します.
libltdl apiの関数の多くは,エラーを発生したクライアントを示す,特 殊な返り値をとります.通常(シングルスレッドアプリケーションでは),内部 から回収することができるエラーを記述する文字列は,
lt_dlerror()
に保存されます.この形式の関数は,それがマルチスレッドのコンテクストで動作するように, ライブラリに登録される必要があります.関数は,スレッドローカルストレー ジに渡されるあらゆるエラーメッセージを保存すべきです.