2016-08-15 13 views
0

スレッド内にNaClを使用してスクリーンレコーダーを作成しています。ファイルを開きたいです。ファイルを開くには時間がかかります。私はそれが完了するまでfopenをブロックして、次のコード行に移動したい。私はpp::BlockUntilComplete()を使用しようとしましたが、うまくいきませんでした。 fopenが前進する前に完了していることを確認する解決策は何でしょうか?fopenが完了するまでNacl_IOブロックスレッド

(スレッドが終わるまで、それは働いていた、)私は、あなたがメインスレッドをブロックすることはできません

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; 
} 

答えて

0

いつか後に同じコードを試してみました。別のスレッドとメッセージのループを設定しようとしましたが、そこにブロッキングコールがありますか?

+0

私は新しいスレッドを作成しましたが、この呼び出しがスレッド内であっても呼び出しをブロックする方法がわかりませんでした。私はちょうどコールをブロックする方法を知らない –

関連する問題