1

我有一个插件,我想防止浏览器关闭,因为我保存了一些需要未知随机时间的数据。

data_ready = false;
data_ready = saveData(); //using a random amount of time as the user has to specify a location
boost::unique_lock<boost::mutex> lock(mut); 
while(!data_ready)  {
    cond.wait(lock);
}

提示询问保存数据的位置,但之后立即崩溃,我猜是锁。如何让浏览器等待用户完成保存数据?

4

1 回答 1

0

你不能。您需要确保插件永远不会阻塞主线程,并且您启动的所有线程都及时关闭。恭喜并欢迎来到浏览器插件的美妙世界 =]

有些人通过启动一个外部应用程序来解决这个问题,该应用程序执行真正的工作,直到它完成才会关闭。

于 2014-04-01T16:28:23.863 回答