mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Refine main run process
This commit is contained in:
parent
d88d422794
commit
225c830971
1 changed files with 16 additions and 16 deletions
|
@ -50,8 +50,8 @@ using namespace std;
|
||||||
#include <srs_core_autofree.hpp>
|
#include <srs_core_autofree.hpp>
|
||||||
|
|
||||||
// pre-declare
|
// pre-declare
|
||||||
srs_error_t run(SrsServer* svr);
|
srs_error_t run_directly_or_daemon();
|
||||||
srs_error_t run_master(SrsServer* svr);
|
srs_error_t run_hybrid_server();
|
||||||
void show_macro_features();
|
void show_macro_features();
|
||||||
string srs_getenv(const char* name);
|
string srs_getenv(const char* name);
|
||||||
|
|
||||||
|
@ -177,10 +177,7 @@ srs_error_t do_main(int argc, char** argv)
|
||||||
// features
|
// features
|
||||||
show_macro_features();
|
show_macro_features();
|
||||||
|
|
||||||
SrsServer* svr = new SrsServer();
|
if ((err = run_directly_or_daemon()) != srs_success) {
|
||||||
SrsAutoFree(SrsServer, svr);
|
|
||||||
|
|
||||||
if ((err = run(svr)) != srs_success) {
|
|
||||||
return srs_error_wrap(err, "run");
|
return srs_error_wrap(err, "run");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -359,18 +356,13 @@ string srs_getenv(const char* name)
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
srs_error_t run(SrsServer* svr)
|
srs_error_t run_directly_or_daemon()
|
||||||
{
|
{
|
||||||
srs_error_t err = srs_success;
|
srs_error_t err = srs_success;
|
||||||
|
|
||||||
// Initialize the whole system, set hooks to handle server level events.
|
|
||||||
if ((err = svr->initialize(NULL)) != srs_success) {
|
|
||||||
return srs_error_wrap(err, "server initialize");
|
|
||||||
}
|
|
||||||
|
|
||||||
// If not daemon, directly run master.
|
// If not daemon, directly run master.
|
||||||
if (!_srs_config->get_daemon()) {
|
if (!_srs_config->get_daemon()) {
|
||||||
if ((err = run_master(svr)) != srs_success) {
|
if ((err = run_hybrid_server()) != srs_success) {
|
||||||
return srs_error_wrap(err, "run master");
|
return srs_error_wrap(err, "run master");
|
||||||
}
|
}
|
||||||
return srs_success;
|
return srs_success;
|
||||||
|
@ -407,17 +399,25 @@ srs_error_t run(SrsServer* svr)
|
||||||
// son
|
// son
|
||||||
srs_trace("son(daemon) process running.");
|
srs_trace("son(daemon) process running.");
|
||||||
|
|
||||||
if ((err = run_master(svr)) != srs_success) {
|
if ((err = run_hybrid_server()) != srs_success) {
|
||||||
return srs_error_wrap(err, "daemon run master");
|
return srs_error_wrap(err, "daemon run master");
|
||||||
}
|
}
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
srs_error_t run_master(SrsServer* svr)
|
srs_error_t run_hybrid_server()
|
||||||
{
|
{
|
||||||
srs_error_t err = srs_success;
|
srs_error_t err = srs_success;
|
||||||
|
|
||||||
|
SrsServer* svr = new SrsServer();
|
||||||
|
SrsAutoFree(SrsServer, svr);
|
||||||
|
|
||||||
|
// Initialize the whole system, set hooks to handle server level events.
|
||||||
|
if ((err = svr->initialize(NULL)) != srs_success) {
|
||||||
|
return srs_error_wrap(err, "server initialize");
|
||||||
|
}
|
||||||
|
|
||||||
if ((err = svr->initialize_st()) != srs_success) {
|
if ((err = svr->initialize_st()) != srs_success) {
|
||||||
return srs_error_wrap(err, "initialize st");
|
return srs_error_wrap(err, "initialize st");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue