我正在使用NaCl编写一个屏幕录像机,在我要打开文件的线程中。该文件需要一些时间才能打开。我想阻止fopen直到它完成然后移动到下一行代码。我尝试使用pp::BlockUntilComplete()
,但它没有成功。什么是确保fopen在前进之前完成的解决方案?
我在一段时间后尝试了相同的代码(直到线程结束,它起作用)
Calling thread
video_track_.GetFrame(m_callback_factory.NewCallbackWithOutput(
&EncoderInstance::OnGetFrame));
Called function
void EncoderInstance::OnGetFrame(
int32_t result, pp::VideoFrame frame) {
if (result != PP_OK)
return;
outfile = fopen("/persistent/cuc_ieschool.ivf", "wb");
if(outfile==NULL){
PostMessage("Can not open output file\n");
return;
}