winlin

refine reload, ignore if parse config file failed.

@@ -477,13 +477,12 @@ int SrsConfig::reload() @@ -477,13 +477,12 @@ int SrsConfig::reload()
477 477
478 SrsConfig conf; 478 SrsConfig conf;
479 if ((ret = conf.parse_file(config_file.c_str())) != ERROR_SUCCESS) { 479 if ((ret = conf.parse_file(config_file.c_str())) != ERROR_SUCCESS) {
480 - srs_error("config reloader parse file failed. ret=%d", ret); 480 + srs_error("ignore config reloader parse file failed. ret=%d", ret);
  481 + ret = ERROR_SUCCESS;
481 return ret; 482 return ret;
482 } 483 }
483 srs_info("config reloader parse file success."); 484 srs_info("config reloader parse file success.");
484 485
485 - // store current root to old_root,  
486 - // and reap the root from conf to current root.  
487 SrsConfDirective* old_root = root; 486 SrsConfDirective* old_root = root;
488 SrsAutoFree(SrsConfDirective, old_root, false); 487 SrsAutoFree(SrsConfDirective, old_root, false);
489 488
@@ -792,7 +791,7 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) @@ -792,7 +791,7 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root)
792 791
793 // ENABLED => ENABLED (modified) 792 // ENABLED => ENABLED (modified)
794 if (get_vhost_enabled(new_vhost) && get_vhost_enabled(old_vhost)) { 793 if (get_vhost_enabled(new_vhost) && get_vhost_enabled(old_vhost)) {
795 - srs_trace("vhost %s modified, reload its detail.", vhost.c_str()); 794 + srs_trace("vhost %s maybe modified, reload its detail.", vhost.c_str());
796 // atc, only one per vhost 795 // atc, only one per vhost
797 if (!srs_directive_equals(new_vhost->get("atc"), old_vhost->get("atc"))) { 796 if (!srs_directive_equals(new_vhost->get("atc"), old_vhost->get("atc"))) {
798 for (it = subscribes.begin(); it != subscribes.end(); ++it) { 797 for (it = subscribes.begin(); it != subscribes.end(); ++it) {