mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
support change work_dir for oryx.
This commit is contained in:
parent
9bd2ff16e2
commit
2a01540433
5 changed files with 31 additions and 1 deletions
|
@ -343,6 +343,7 @@ Remark:
|
|||
|
||||
## History
|
||||
|
||||
* v2.0, 2016-09-23, support change work_dir for oryx.
|
||||
* v2.0, 2016-09-15, fix #640, typo for rtmp type. 2.0.217
|
||||
* v2.0, 2016-09-12, fix fast stream error bug. 2.0.216
|
||||
* <strong>v2.0, 2016-09-09, [2.0 beta1(2.0.215)][r2.0b1] released. 89941 lines.</strong>
|
||||
|
|
|
@ -50,6 +50,12 @@ daemon on;
|
|||
# default: off
|
||||
utc_time off;
|
||||
|
||||
# the work dir for server, to chdir(work_dir) when not empty or "./"
|
||||
# user can config this directory to change the dir.
|
||||
# @reamrk do not support reload.
|
||||
# default: ./
|
||||
work_dir ./;
|
||||
|
||||
#############################################################################################
|
||||
# heartbeat/stats sections
|
||||
#############################################################################################
|
||||
|
|
|
@ -1567,7 +1567,7 @@ int SrsConfig::check_config()
|
|||
&& n != "max_connections" && n != "daemon" && n != "heartbeat"
|
||||
&& n != "http_api" && n != "stats" && n != "vhost" && n != "pithy_print_ms"
|
||||
&& n != "http_stream" && n != "http_server" && n != "stream_caster"
|
||||
&& n != "utc_time"
|
||||
&& n != "utc_time" && n != "work_dir"
|
||||
) {
|
||||
ret = ERROR_SYSTEM_CONFIG_INVALID;
|
||||
srs_error("unsupported directive %s, ret=%d", n.c_str(), ret);
|
||||
|
@ -2172,6 +2172,17 @@ bool SrsConfig::get_utc_time()
|
|||
return SRS_CONF_PERFER_FALSE(conf->arg0());
|
||||
}
|
||||
|
||||
string SrsConfig::get_work_dir() {
|
||||
static string DEFAULT = "./";
|
||||
|
||||
SrsConfDirective* conf = root->get("work_dir");
|
||||
if( !conf || conf->arg0().empty()) {
|
||||
return DEFAULT;
|
||||
}
|
||||
|
||||
return conf->arg0();
|
||||
}
|
||||
|
||||
vector<SrsConfDirective*> SrsConfig::get_stream_casters()
|
||||
{
|
||||
srs_assert(root);
|
||||
|
|
|
@ -374,6 +374,11 @@ public:
|
|||
* whether use utc-time to format the time.
|
||||
*/
|
||||
virtual bool get_utc_time();
|
||||
/**
|
||||
* get the configed work dir.
|
||||
* ignore if empty string.
|
||||
*/
|
||||
virtual std::string get_work_dir();
|
||||
// stream_caster section
|
||||
public:
|
||||
/**
|
||||
|
|
|
@ -282,6 +282,13 @@ int main(int argc, char** argv)
|
|||
return ret;
|
||||
}
|
||||
|
||||
// change the work dir and set cwd.
|
||||
std::string cwd = _srs_config->get_work_dir();
|
||||
if (!cwd.empty() && cwd != "./" && (ret = chdir(cwd.c_str())) != ERROR_SUCCESS) {
|
||||
srs_error("change cwd to %s failed. ret=%d", cwd.c_str(), ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
// config parsed, initialize log.
|
||||
if ((ret = _srs_log->initialize()) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue