【发布时间】:2015-06-16 08:48:17
【问题描述】:
使用函数Sys.getpwd、Lwt_unix.chdir和Lwt_process.exec可以很容易地通过Lwt从特定目录启动进程:
- 使用
Sys.getpwd保存当前工作目录 - 使用
Lwt_unix.chdir切换到具体目录 - 使用
Lwt_process.exec启动外部进程 - 使用
Lwt_unix.chdir切换到保存的当前工作目录
这个逻辑是有缺陷的,因为它允许调度程序在第一次调用Lwt_unix.chdir 之后和调用Lwt_process.exec 之后运行另一个线程,这将导致这个线程在特殊目录中运行 em> 而不是在保存的当前目录中。是否可以使用 Lwt 从特殊目录轻松启动进程,而不会引入我所描述的竞争条件?
【问题讨论】: