Mercurial > prosody-hg
comparison util/startup.lua @ 8653:dab9b8af0f01
util.startup: Execute startup routine inside async context
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Thu, 22 Mar 2018 16:24:22 +0000 |
| parents | 070a77c15f63 |
| children | d49acc9a8da2 |
comparison
equal
deleted
inserted
replaced
| 8652:03bb534593cb | 8653:dab9b8af0f01 |
|---|---|
| 3 local startup = {}; | 3 local startup = {}; |
| 4 | 4 |
| 5 local prosody = { events = require "util.events".new() }; | 5 local prosody = { events = require "util.events".new() }; |
| 6 | 6 |
| 7 local config = require "core.configmanager"; | 7 local config = require "core.configmanager"; |
| 8 local async = require "util.async"; | |
| 8 | 9 |
| 9 local dependencies = require "util.dependencies"; | 10 local dependencies = require "util.dependencies"; |
| 10 | 11 |
| 11 function startup.read_config() | 12 function startup.read_config() |
| 12 local filenames = {}; | 13 local filenames = {}; |
| 495 startup.init_http_client(); | 496 startup.init_http_client(); |
| 496 startup.make_dummy_hosts(); | 497 startup.make_dummy_hosts(); |
| 497 end | 498 end |
| 498 | 499 |
| 499 function startup.prosody() | 500 function startup.prosody() |
| 500 -- These actions are in a strict order, as many depend on | 501 async.once(function () |
| 501 -- previous steps to have already been performed | 502 -- These actions are in a strict order, as many depend on |
| 502 startup.read_config(); | 503 -- previous steps to have already been performed |
| 503 startup.sanity_check(); | 504 startup.read_config(); |
| 504 startup.sandbox_require(); | 505 startup.sanity_check(); |
| 505 startup.set_function_metatable(); | 506 startup.sandbox_require(); |
| 506 startup.check_dependencies(); | 507 startup.set_function_metatable(); |
| 507 startup.load_libraries(); | 508 startup.check_dependencies(); |
| 508 startup.init_global_state(); | 509 startup.load_libraries(); |
| 509 startup.init_logging(); | 510 startup.init_global_state(); |
| 510 startup.chdir(); | 511 startup.init_logging(); |
| 511 startup.add_global_prosody_functions(); | 512 startup.chdir(); |
| 512 startup.read_version(); | 513 startup.add_global_prosody_functions(); |
| 513 startup.log_greeting(); | 514 startup.read_version(); |
| 514 startup.log_dependency_warnings(); | 515 startup.log_greeting(); |
| 515 startup.load_secondary_libraries(); | 516 startup.log_dependency_warnings(); |
| 516 startup.init_http_client(); | 517 startup.load_secondary_libraries(); |
| 517 startup.init_data_store(); | 518 startup.init_http_client(); |
| 518 startup.init_global_protection(); | 519 startup.init_data_store(); |
| 519 startup.prepare_to_start(); | 520 startup.init_global_protection(); |
| 520 startup.notify_started(); | 521 startup.prepare_to_start(); |
| 522 startup.notify_started(); | |
| 523 end); | |
| 521 end | 524 end |
| 522 | 525 |
| 523 return startup; | 526 return startup; |
