skyent启动部分

文章仅仅是用来记录学习的过程。。。

skynet启动部分:

1、SIGHUP信号处理;

2、skynet进程是否需要以守护进程形式存在;

3、skynet_harbor_init:harbor环境初始化;

4、skynet_handle_init:全局的handle_storage分配内存,并初始化;

5、skynet_mq_init:global_queue全局消息队列分配内存,并初始化;

6、skynet_module_init(config->module_path):全局modules分配内存并初始化,主要用来存在cpath路径下的modules;

7、skynet_timer_init:全局定时器timer创建,并初始化;

8、skynet_socket_init:全局 socket_server创建并初始化;

9、skynet_context_new(config->logservice, config->logger):logerservice服务上下文创建,并导出service_logger.c的接口函数;

10、bootstrap(ctx, config->bootstrap):以bootstrap作为参数,启动snlua服务,启动服务方式以skynet_context_new方式启动;

11、start(config->thread):启动核心线程,核心线程包括:thread_monitor 、thread_timer、thread_socket、thread_worker;

12、skynet_harbor_exit():harbor环境信息清除;

13、skynet_socket_free():socket_server清除;

14、daemon_exit:守护进程退出;

注意点:从skynet启动流程可以看出有很多全局对象,全局模块handle、全局消息队列global_queue、全局modules(主要是初初始化modules下面的模块接口)、全局定时器timer。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值