第十一步:导入区块
以下内容为系统启动过程中,每一步骤的详细分析。
第11步,导入区块(src/init.cpp::AppInitMain()
)
src/init.cpp::AppInitMain()
)调用
CheckDiskSpace
函数,检查硬盘空间是否足够。如果没有足够的硬盘空间,则退出。
检查最佳区块链顶端指示指针是否为空。
如果顶端打针为空,UI界面进行通知。如果不空,则设置有创世区块,即
fHaveGenesis
设为真。如果指定了
blocknotify
参数,设置界面通知为BlockNotifyCallback
。遍历参数
loadblock
指定要加载的区块文件,放进向量变量vImportFiles
集合中。然后调用threadGroup.create_thread
方法,创建一个线程。线程执行的函数为ThreadImport
,参数为要加载的区块文件。获取
cs_GenesisWait
锁,等待创世区块被处理完成。
Last updated
Was this helpful?