Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2015-06-13 15:45:25 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
0d66e92ab51da583d754a7981174f0685cd4af15
0d66e92a
1 parent
0d6a5742
refine code, support configure to enable --memory-watch
隐藏空白字符变更
内嵌
并排对比
正在显示
8 个修改的文件
包含
22 行增加
和
17 行删除
trunk/auto/auto_headers.sh
trunk/auto/options.sh
trunk/src/app/srs_app_server.cpp
trunk/src/core/srs_core_mem_watch.cpp
trunk/src/core/srs_core_mem_watch.hpp
trunk/src/core/srs_core_performance.hpp
trunk/src/kernel/srs_kernel_flv.cpp
trunk/src/main/srs_main_server.cpp
trunk/auto/auto_headers.sh
查看文件 @
0d66e92
...
...
@@ -136,6 +136,12 @@ else
echo
"#undef SRS_AUTO_SSL"
>>
$SRS_AUTO_HEADERS_H
fi
if
[
$SRS_MEM_WATCH
=
YES
]
;
then
echo
"#define SRS_AUTO_MEM_WATCH"
>>
$SRS_AUTO_HEADERS_H
else
echo
"#undef SRS_AUTO_MEM_WATCH"
>>
$SRS_AUTO_HEADERS_H
fi
# whether compile ffmpeg tool
if
[
$SRS_FFMPEG_TOOL
=
YES
]
;
then
echo
"#define SRS_AUTO_FFMPEG_TOOL"
>>
$SRS_AUTO_HEADERS_H
...
...
trunk/auto/options.sh
查看文件 @
0d66e92
...
...
@@ -60,6 +60,9 @@ SRS_LOG_TRACE=RESERVED
# experts
# donot compile ssl, use system ssl(-lssl) if required.
SRS_USE_SYS_SSL
=
NO
# enable memory watch, detect memory leak,
# similar to gmc, should disable in release version for hurts performance.
SRS_MEM_WATCH
=
NO
# export the srs-librtmp to specified project, NO to disable it.
SRS_EXPORT_LIBRTMP_PROJECT
=
NO
# export the srs-librtmp to a single .h and .c, NO to disable it.
...
...
@@ -195,6 +198,7 @@ Conflicts:
Experts:
--use-sys-ssl donot compile ssl, use system ssl(-lssl) if required.
--memory-watch enable memory watch to detect memory leaking(hurts performance).
--export-librtmp-project=<path> export srs-librtmp to specified project in path.
--export-librtmp-single=<path> export srs-librtmp to a single file(.h+.cpp) in path.
...
...
@@ -283,6 +287,7 @@ function parse_user_option() {
--full
)
SRS_ENABLE_ALL
=
YES
;;
--use-sys-ssl
)
SRS_USE_SYS_SSL
=
YES
;;
--memory-watch
)
SRS_MEM_WATCH
=
YES
;;
--export-librtmp-project
)
SRS_EXPORT_LIBRTMP_PROJECT
=
${
value
}
;;
--export-librtmp-single
)
SRS_EXPORT_LIBRTMP_SINGLE
=
${
value
}
;;
...
...
trunk/src/app/srs_app_server.cpp
查看文件 @
0d66e92
...
...
@@ -569,7 +569,7 @@ void SrsServer::dispose()
st_usleep
(
100
*
1000
);
}
#ifdef SRS_MEM_WATCH
#ifdef SRS_
AUTO_
MEM_WATCH
srs_memory_report
();
#endif
}
...
...
@@ -893,7 +893,7 @@ void SrsServer::on_signal(int signo)
signal_gmc_stop
=
true
;
#else
srs_trace
(
"user terminate program"
);
#ifdef SRS_MEM_WATCH
#ifdef SRS_
AUTO_
MEM_WATCH
srs_memory_report
();
#endif
exit
(
0
);
...
...
trunk/src/core/srs_core_mem_watch.cpp
查看文件 @
0d66e92
...
...
@@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_core_mem_watch.hpp>
#ifdef SRS_MEM_WATCH
#ifdef SRS_
AUTO_
MEM_WATCH
#include <map>
#include <stdio.h>
...
...
@@ -68,7 +68,7 @@ void srs_memory_unwatch(void* ptr)
void
srs_memory_report
()
{
printf
(
"srs memory leak report:
\n
"
);
printf
(
"srs memory
watch
leak report:
\n
"
);
int
total
=
0
;
std
::
map
<
void
*
,
SrsMemoryObject
*>::
iterator
it
;
...
...
@@ -79,6 +79,7 @@ void srs_memory_report()
}
printf
(
"%d objects leak %dKB.
\n
"
,
(
int
)
_srs_ptrs
.
size
(),
total
/
1024
);
printf
(
"@remark use script to cleanup for memory watch: ./etc/init.d/srs stop
\n
"
);
}
#endif
...
...
trunk/src/core/srs_core_mem_watch.hpp
查看文件 @
0d66e92
...
...
@@ -30,7 +30,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_core.hpp>
#ifdef SRS_MEM_WATCH
#ifdef SRS_
AUTO_
MEM_WATCH
#include <string>
...
...
trunk/src/core/srs_core_performance.hpp
查看文件 @
0d66e92
...
...
@@ -174,7 +174,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* to force the server to send smaller tcp packet.
* @see https://github.com/simple-rtmp-server/srs/issues/320
* @remark undef it to auto calc it by merged write sleep ms.
* @remark only apply it when SRS_PERF_MW_SO_
RCV
BUF is defined.
* @remark only apply it when SRS_PERF_MW_SO_
SND
BUF is defined.
*/
#ifdef SRS_PERF_MW_SO_SNDBUF
//#define SRS_PERF_SO_SNDBUF_SIZE 1024
...
...
@@ -188,12 +188,5 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#undef SRS_PERF_FAST_FLV_ENCODER
#define SRS_PERF_FAST_FLV_ENCODER
/**
* whether enable the special memory watcher.
* which used for memory leak debug and hurts performance.
*/
#define SRS_MEM_WATCH
#undef SRS_MEM_WATCH
#endif
...
...
trunk/src/kernel/srs_kernel_flv.cpp
查看文件 @
0d66e92
...
...
@@ -160,7 +160,7 @@ SrsCommonMessage::SrsCommonMessage()
SrsCommonMessage
::~
SrsCommonMessage
()
{
#ifdef SRS_MEM_WATCH
#ifdef SRS_
AUTO_
MEM_WATCH
srs_memory_unwatch
(
payload
);
#endif
srs_freep
(
payload
);
...
...
@@ -173,7 +173,7 @@ void SrsCommonMessage::create_payload(int size)
payload
=
new
char
[
size
];
srs_verbose
(
"create payload for RTMP message. size=%d"
,
size
);
#ifdef SRS_MEM_WATCH
#ifdef SRS_
AUTO_
MEM_WATCH
srs_memory_watch
(
payload
,
"RTMP.msg.payload"
,
size
);
#endif
}
...
...
@@ -187,7 +187,7 @@ SrsSharedPtrMessage::SrsSharedPtrPayload::SrsSharedPtrPayload()
SrsSharedPtrMessage
::
SrsSharedPtrPayload
::~
SrsSharedPtrPayload
()
{
#ifdef SRS_MEM_WATCH
#ifdef SRS_
AUTO_
MEM_WATCH
srs_memory_unwatch
(
payload
);
#endif
srs_freep
(
payload
);
...
...
trunk/src/main/srs_main_server.cpp
查看文件 @
0d66e92
...
...
@@ -212,7 +212,7 @@ void check_macro_features()
srs_warn
(
"SRS %s is not stable, please use stable branch %s instead"
,
RTMP_SIG_SRS_VERSION
,
VERSION_STABLE_BRANCH
);
#endif
#ifdef SRS_MEM_WATCH
#ifdef SRS_
AUTO_
MEM_WATCH
#warning "srs memory watcher will hurts performance. user should kill by SIGTERM or init.d script."
srs_warn
(
"srs memory watcher will hurts performance. user should kill by SIGTERM or init.d script."
);
#endif
...
...
请
注册
或
登录
后发表评论