0

次のコール フローを検討してください。

関数 A はXCheckIfEventを呼び出し、述語パラメーターで関数 B へのポインターを渡します。関数 B はXGetWindowPropertyを呼び出します。

XLib がXInitThreads関数で初期化されている場合、上記の呼び出しフローはXGetWindowPropertyへの呼び出しでハングします。XInitThreadsが呼び出されたときにアクティブ化されるロックは再帰的ではないように思えます。本当なら、なぜですか?再帰的にする方法はありますか?それとも、XLib 関数に渡されたコールバック内から XLib 関数を呼び出すことは正式に禁止されていますか?

4

1 に答える 1