系统函数调用异步?

时间:2011-07-25 20:57:24

标签: c windows system sleep wine

在代码中的某个位置,我使用system-Call调用外部工具。我与Wine一起工作并用C编程。

电话是这样的:

system("blabla.exe outfile");

动态生成命令以更改outfile。几行后我尝试用fopen打开生成的文件,但fopen返回NULL

如果我将呼叫更改为以下内容,则一切正常:

system("blabla.exe outfile");
Sleep(2000);

但我不想等待2秒......这个解决方案非常糟糕。 我认为system - 呼叫同步工作?所以子进程及其所有(文件)句柄应该在system - 调用后关闭,不是吗?我对此有点困惑。

由于

1 个答案:

答案 0 :(得分:1)

system调用是同步的,根据执行结束后返回的手册页。我怀疑有葡萄酒冲洗文件句柄的东西。