関数、およびを使用して、 Lwtで特定のディレクトリからプロセスを開始するのは簡単です。Sys.getpwdLwt_unix.chdirLwt_process.exec
- 現在の作業ディレクトリ
Sys.getpwdを保存するために使用します Lwt_unix.chdir特定のディレクトリに移動するために使用しますLwt_process.exec外部プロセスの開始に使用Lwt_unix.chdir保存された現在の作業ディレクトリに移動するために使用します
このロジックには欠陥があります。スケジューラが への最初の呼び出しのLwt_unix.chdir後、および への呼び出しの後に別のスレッドを実行できるため、保存された現在のディレクトリではなく特別なディレクトリLwt_process.execでこのスレッドが実行されるからです。私が説明したような競合状態を導入することなく、 Lwtを使用して特別なディレクトリからプロセスを簡単に開始することは可能ですか?