void skynet_start(struct skynet_config * config) { skynet_harbor_init(config->harbor); skynet_handle_init(config->harbor); skynet_mq_init(); skynet_module_init(config->module_path); skynet_timer_init(); skynet_socket_init(); bootstrap(config->bootstrap); _start(config->thread); skynet_socket_free(); }
void skynet_start(struct skynet_config * config) { skynet_group_init(); skynet_harbor_init(config->harbor); skynet_handle_init(config->harbor); skynet_mq_init(); skynet_module_init(config->module_path); skynet_timer_init(); skynet_socket_init(); if (config->standalone) { if (_start_master(config->standalone)) { fprintf(stderr, "Init fail : mater"); return; } } // harbor must be init first if (skynet_harbor_start(config->master , config->local)) { fprintf(stderr, "Init fail : no master"); return; } struct skynet_context *ctx; ctx = skynet_context_new("logger", config->logger); if (ctx == NULL) { fprintf(stderr,"launch logger error"); exit(1); } ctx = skynet_context_new("localcast", NULL); if (ctx == NULL) { fprintf(stderr,"launch local cast error"); exit(1); } ctx = skynet_context_new("snlua", "launcher"); if (ctx) { skynet_command(ctx, "REG", ".launcher"); ctx = skynet_context_new("snlua", config->start); } _start(config->thread); skynet_socket_free(); }