1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

support gmd. change work_dir. hourglass. add utilies.

This commit is contained in:
winlin 2016-01-08 13:58:19 +08:00
parent c9b977d337
commit f1e7e9d933
33 changed files with 702 additions and 73 deletions

View file

@ -261,7 +261,17 @@ int main(int argc, char** argv)
if ((ret = _srs_config->parse_options(argc, argv)) != ERROR_SUCCESS) {
return ret;
}
// change the work dir and set cwd.
string cwd = _srs_config->get_work_dir();
if (!cwd.empty() && (ret = chdir(cwd.c_str())) != ERROR_SUCCESS) {
srs_error("change cwd to %s failed. ret=%d", cwd.c_str(), ret);
return ret;
}
if ((ret = _srs_config->initialize_cwd()) != ERROR_SUCCESS) {
return ret;
}
// config parsed, initialize log.
if ((ret = _srs_log->initialize()) != ERROR_SUCCESS) {
return ret;
@ -277,6 +287,24 @@ int main(int argc, char** argv)
#ifdef SRS_AUTO_EMBEDED_TOOL_CHAIN
srs_trace("crossbuild tool chain: "SRS_AUTO_EMBEDED_TOOL_CHAIN);
#endif
srs_trace("cwd=%s, work_dir=%s", _srs_config->cwd().c_str(), cwd.c_str());
#ifdef SRS_PERF_GLIBC_MEMORY_CHECK
// ensure glibc write error to stderr.
setenv("LIBC_FATAL_STDERR_", "1", 1);
// ensure glibc to do alloc check.
setenv("MALLOC_CHECK_", "1", 1);
srs_trace("env MALLOC_CHECK_=1 LIBC_FATAL_STDERR_=1");
#endif
#ifdef SRS_AUTO_GPERF_MD
char* TCMALLOC_PAGE_FENCE = getenv("TCMALLOC_PAGE_FENCE");
if (!TCMALLOC_PAGE_FENCE || strcmp(TCMALLOC_PAGE_FENCE, "1")) {
srs_trace("gmd enabled without env TCMALLOC_PAGE_FENCE=1");
} else {
srs_trace("env TCMALLOC_PAGE_FENCE=1");
}
#endif
// we check the config when the log initialized.
if ((ret = _srs_config->check_config()) != ERROR_SUCCESS) {