C# プログラムで lua をサポートするために lua インターフェイスを使用しています。ユーザーがこのようなコードを送信すると、ワーカー スレッドがフリーズします。
while true do end
無限ループが実行されているかどうかを検出する方法はありますが、ワーカー スレッドから DoString メソッドを終了する適切な方法が必要です。何か案は?
編集:@kikito、はい、私はそれをそのようなものだと思っています。私が抱えている問題は、DoString メソッドを強制終了するクリーンな方法が見つからないことです。Lua インターフェイスのメイン クラス (Lua) にはいくつかの静的な依存関係があるように見えlua.Close();
ます。次にluaクラスをインスタンスnew Lua();
化すると、保護メモリについて何か言ってクラッシュします
編集: 私の .Close コードを示すフィーチャー ブランチ https://github.com/AndersMalmgren/FreePIE/tree/detect-and-recover-infite-lua-loop