この質問はよくあることだと思っていたのですが、答えを見つけることができませんでした。
とにかく、これが私がやろうとしていることです。Lua 用に登録されたいくつかの C 関数を含むプログラムがあります。
別の時点で、次のように lua 関数を呼び出します
lua_getglobal(mainL,"interact");
と
if (lua_pcall(mainL, 2, 0, 0) != 0)
printf("error running function `f': %s",
lua_tostring(L, -1));
printf("interact\n");
Lua 関数では、登録されている他の C 関数をたくさん呼び出します。そして、それを行うたびに、別のスレッドで実行されるようです。(間違っていたら訂正してください)
だから私が尋ねようとしているのは、Lua 関数の次の行を実行する前に、C 関数呼び出しが終了するまでブロックする方法があるかどうかです。
(はい、C プログラムでミューテックスを使用してみました。私には機能しますが、何らかの理由で他の PC の他の PC では機能しないようです。そのため、すべてをブロックするようにしようとしています。より簡単に)
ありがとうございました