From f9a159cd213c6f25a17ee8fce72c01d7a29d34dd Mon Sep 17 00:00:00 2001 From: winlin Date: Thu, 5 Jan 2017 10:45:41 +0800 Subject: [PATCH] patch ST for valgrind and ARM. 3.0.11 --- README.md | 1 + trunk/3rdparty/readme.txt | 11 ++- trunk/3rdparty/state-threads-1.9.1.tar.gz | Bin 0 -> 111825 bytes trunk/auto/depends.sh | 65 +++++++++++------- .../srs_xcode.xcodeproj/project.pbxproj | 56 +++++++++++++-- trunk/src/core/srs_core.hpp | 2 +- 6 files changed, 97 insertions(+), 38 deletions(-) create mode 100644 trunk/3rdparty/state-threads-1.9.1.tar.gz diff --git a/README.md b/README.md index 0d9e6cc87..3e8e26a98 100755 --- a/README.md +++ b/README.md @@ -182,6 +182,7 @@ Please select your language: ### V3 changes +* v3.0, 2017-01-05, patch ST for valgrind and ARM. 3.0.11 * v3.0, 2017-01-05, for [#324][bug #324], always enable hstrs. 3.0.10 * v3.0, 2016-12-15, fix [#717][bug #717], [#691][bug #691], http api/static/stream support cors. 3.0.9 * v3.0, 2016-12-08, support log rotate signal SIGUSR1. 3.0.8 diff --git a/trunk/3rdparty/readme.txt b/trunk/3rdparty/readme.txt index 094504d8c..7f25f466d 100644 --- a/trunk/3rdparty/readme.txt +++ b/trunk/3rdparty/readme.txt @@ -27,15 +27,14 @@ fdk-aac-0.1.3.zip tools/ccache-3.1.9.zip to fast build. -1.st.arm.Makefile.patch - st编译脚本补丁,允许用户指定cc编译器。 - gtest-1.6.0.zip - google单元测试框架。 + google test framework. gperftools-2.1.zip - google性能分析和测试工具。 - 编译和使用参考压缩文件中的README和doc目录。 + gperf tools for performance benchmark. + +state-threads-1.9.1.tar.gz: + patched st from https://github.com/ossrs/state-threads/releases/tag/v1.9.1 links: nginx: diff --git a/trunk/3rdparty/state-threads-1.9.1.tar.gz b/trunk/3rdparty/state-threads-1.9.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..adb2106342e07422f69ad19d804945f05be12a6f GIT binary patch literal 111825 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 z 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 literal 0 HcmV?d00001 diff --git a/trunk/auto/depends.sh b/trunk/auto/depends.sh index 2af8df503..7cc091f32 100755 --- a/trunk/auto/depends.sh +++ b/trunk/auto/depends.sh @@ -101,6 +101,13 @@ function Ubuntu_prepare() sudo apt-get install -y --force-yes unzip; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi echo "The unzip is installed." fi + + valgrind --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then + echo "Installing valgrind." + require_sudoer "sudo apt-get install -y --force-yes valgrind valgrind-dev" + sudo apt-get install -y --force-yes valgrind valgrind-dev; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi + echo "The valgrind is installed." + fi if [ $SRS_NGINX = YES ]; then if [[ ! -f /usr/include/pcre.h ]]; then @@ -194,6 +201,13 @@ function Centos_prepare() sudo yum install -y unzip; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi echo "The unzip is installed." fi + + valgrind --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then + echo "Installing valgrind." + require_sudoer "sudo yum install -y valgrind valgrind-devel" + sudo yum install -y valgrind valgrind-devel; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi + echo "The valgrind is installed." + fi if [ $SRS_NGINX = YES ]; then if [[ ! -f /usr/include/pcre.h ]]; then @@ -313,6 +327,13 @@ function OSX_prepare() brew install unzip; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi echo "The unzip is installed." fi + + valgrind --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then + echo "Installing valgrind." + echo "brew install valgrind" + brew install valgrind; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi + echo "The valgrind is installed." + fi if [ $SRS_NGINX = YES ]; then if [[ ! -f /usr/local/include/pcre.h ]]; then @@ -397,57 +418,49 @@ if [[ $OS_IS_UBUNTU = NO && $OS_IS_CENTOS = NO && $OS_IS_OSX = NO && $SRS_EXPORT fi ##################################################################################### -# st-1.9 +# state-threads ##################################################################################### if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then # check the cross build flag file, if flag changed, need to rebuild the st. - _ST_MAKE=linux-debug && _ST_EXTRA_CFLAGS="-DMD_HAVE_EPOLL" + _ST_MAKE=linux-debug && _ST_EXTRA_CFLAGS="-DMD_HAVE_EPOLL -DMD_VALGRIND" # for osx, use darwin for st, donot use epoll. if [ $OS_IS_OSX = YES ]; then - _ST_MAKE=darwin-debug && _ST_EXTRA_CFLAGS="-DMD_HAVE_KQUEUE" + _ST_MAKE=darwin-debug && _ST_EXTRA_CFLAGS="-DMD_HAVE_KQUEUE -DMD_VALGRIND -I/usr/local/include" fi - # memory leak for linux-optimized - # @see: https://github.com/ossrs/srs/issues/197 + # Patched ST from https://github.com/ossrs/state-threads/tree/srs if [ $SRS_CROSS_BUILD = YES ]; then # ok, arm specified, if the flag filed does not exists, need to rebuild. if [[ -f ${SRS_OBJS}/_flag.st.cross.build.tmp && -f ${SRS_OBJS}/st/libst.a ]]; then - echo "The st-1.9t for arm is ok."; + echo "The state-threads for arm is ok."; else - # TODO: FIXME: patch the bug. - # patch st for arm, @see: https://github.com/ossrs/srs/wiki/v1_CN_SrsLinuxArm#st-arm-bug-fix - echo "Building st-1.9t for arm."; + echo "Building state-threads for arm."; ( - rm -rf ${SRS_OBJS}/st-1.9 && cd ${SRS_OBJS} && - unzip -q ../3rdparty/st-1.9.zip && cd st-1.9 && chmod +w * && - patch -p0 < ../../3rdparty/patches/1.st.arm.patch && - patch -p0 < ../../3rdparty/patches/3.st.osx.kqueue.patch && - patch -p0 < ../../3rdparty/patches/4.st.disable.examples.patch && + rm -rf ${SRS_OBJS}/state-threads-1.9.1 && cd ${SRS_OBJS} && + tar xf ../3rdparty/state-threads-1.9.1.tar.gz && cd state-threads-1.9.1 && chmod +w * && make ${_ST_MAKE} CC=${SrsArmCC} AR=${SrsArmAR} LD=${SrsArmLD} RANDLIB=${SrsArmRANDLIB} EXTRA_CFLAGS="${_ST_EXTRA_CFLAGS}" && - cd .. && rm -rf st && ln -sf st-1.9/obj st && + cd .. && rm -f st && ln -sf state-threads-1.9.1/obj st && + rm -f state-threads && ln -sf state-threads-1.9.1 state-threads && cd .. && touch ${SRS_OBJS}/_flag.st.cross.build.tmp ) fi else if [[ ! -f ${SRS_OBJS}/_flag.st.cross.build.tmp && -f ${SRS_OBJS}/st/libst.a ]]; then - echo "The st-1.9t is ok."; + echo "The state-threads is ok."; else - # patch st for arm, @see: https://github.com/ossrs/srs/wiki/v1_CN_SrsLinuxArm#st-arm-bug-fix - echo "Building st-1.9t."; + echo "Building state-threads."; ( - rm -rf ${SRS_OBJS}/st-1.9 && cd ${SRS_OBJS} && - unzip -q ../3rdparty/st-1.9.zip && cd st-1.9 && chmod +w * && - patch -p0 < ../../3rdparty/patches/1.st.arm.patch && - patch -p0 < ../../3rdparty/patches/3.st.osx.kqueue.patch && - patch -p0 < ../../3rdparty/patches/4.st.disable.examples.patch && + rm -rf ${SRS_OBJS}/state-threads-1.9.1 && cd ${SRS_OBJS} && + tar xf ../3rdparty/state-threads-1.9.1.tar.gz && cd state-threads-1.9.1 && chmod +w * && make ${_ST_MAKE} EXTRA_CFLAGS="${_ST_EXTRA_CFLAGS}" && - cd .. && rm -rf st && ln -sf st-1.9/obj st && + cd .. && rm -f st && ln -sf state-threads-1.9.1/obj st && + rm -f state-threads && ln -sf state-threads-1.9.1 state-threads && cd .. && rm -f ${SRS_OBJS}/_flag.st.cross.build.tmp ) fi fi # check status - ret=$?; if [[ $ret -ne 0 ]]; then echo "Build st-1.9 failed, ret=$ret"; exit $ret; fi - if [ ! -f ${SRS_OBJS}/st/libst.a ]; then echo "Build st-1.9 static lib failed."; exit -1; fi + ret=$?; if [[ $ret -ne 0 ]]; then echo "Build state-threads failed, ret=$ret"; exit $ret; fi + if [ ! -f ${SRS_OBJS}/st/libst.a ]; then echo "Build state-threads static lib failed."; exit -1; fi fi ##################################################################################### diff --git a/trunk/ide/srs_xcode/srs_xcode.xcodeproj/project.pbxproj b/trunk/ide/srs_xcode/srs_xcode.xcodeproj/project.pbxproj index 48fa54cac..8f8d575a0 100644 --- a/trunk/ide/srs_xcode/srs_xcode.xcodeproj/project.pbxproj +++ b/trunk/ide/srs_xcode/srs_xcode.xcodeproj/project.pbxproj @@ -104,6 +104,14 @@ 3C689F9F1AB6AAC800C9CEEE /* sched.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C689F9B1AB6AAC800C9CEEE /* sched.c */; }; 3C689FA01AB6AAC800C9CEEE /* stk.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C689F9C1AB6AAC800C9CEEE /* stk.c */; }; 3C689FA11AB6AAC800C9CEEE /* sync.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C689F9D1AB6AAC800C9CEEE /* sync.c */; }; + 3C7175B21E1DEA8000E8C49F /* event.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C7175A81E1DEA8000E8C49F /* event.c */; }; + 3C7175B31E1DEA8000E8C49F /* io.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C7175A91E1DEA8000E8C49F /* io.c */; }; + 3C7175B41E1DEA8000E8C49F /* key.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C7175AA1E1DEA8000E8C49F /* key.c */; }; + 3C7175B51E1DEA8000E8C49F /* Makefile in Sources */ = {isa = PBXBuildFile; fileRef = 3C7175AB1E1DEA8000E8C49F /* Makefile */; }; + 3C7175B61E1DEA8000E8C49F /* md.S in Sources */ = {isa = PBXBuildFile; fileRef = 3C7175AD1E1DEA8000E8C49F /* md.S */; }; + 3C7175B71E1DEA8000E8C49F /* sched.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C7175AF1E1DEA8000E8C49F /* sched.c */; }; + 3C7175B81E1DEA8000E8C49F /* stk.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C7175B01E1DEA8000E8C49F /* stk.c */; }; + 3C7175B91E1DEA8000E8C49F /* sync.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C7175B11E1DEA8000E8C49F /* sync.c */; }; 3C82802C1BAFF8CC004A1794 /* srs_kafka_stack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C82802A1BAFF8CC004A1794 /* srs_kafka_stack.cpp */; }; 3C8CE01E1C3F482100548CC6 /* srs_app_hourglass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C8CE01D1C3F482100548CC6 /* srs_app_hourglass.cpp */; }; 3CB25C2A1BB269FD00C97A63 /* jmp_sp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3CB25C291BB269FD00C97A63 /* jmp_sp.cpp */; }; @@ -372,6 +380,17 @@ 3C689F9B1AB6AAC800C9CEEE /* sched.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sched.c; path = "../../objs/st-1.9/sched.c"; sourceTree = ""; }; 3C689F9C1AB6AAC800C9CEEE /* stk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stk.c; path = "../../objs/st-1.9/stk.c"; sourceTree = ""; }; 3C689F9D1AB6AAC800C9CEEE /* sync.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sync.c; path = "../../objs/st-1.9/sync.c"; sourceTree = ""; }; + 3C7175A71E1DEA8000E8C49F /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = common.h; path = "../../../objs/state-threads-1.9.1/common.h"; sourceTree = ""; }; + 3C7175A81E1DEA8000E8C49F /* event.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = event.c; path = "../../../objs/state-threads-1.9.1/event.c"; sourceTree = ""; }; + 3C7175A91E1DEA8000E8C49F /* io.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = io.c; path = "../../../objs/state-threads-1.9.1/io.c"; sourceTree = ""; }; + 3C7175AA1E1DEA8000E8C49F /* key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = key.c; path = "../../../objs/state-threads-1.9.1/key.c"; sourceTree = ""; }; + 3C7175AB1E1DEA8000E8C49F /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; name = Makefile; path = "../../../objs/state-threads-1.9.1/Makefile"; sourceTree = ""; }; + 3C7175AC1E1DEA8000E8C49F /* md.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = md.h; path = "../../../objs/state-threads-1.9.1/md.h"; sourceTree = ""; }; + 3C7175AD1E1DEA8000E8C49F /* md.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = md.S; path = "../../../objs/state-threads-1.9.1/md.S"; sourceTree = ""; }; + 3C7175AE1E1DEA8000E8C49F /* public.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = public.h; path = "../../../objs/state-threads-1.9.1/public.h"; sourceTree = ""; }; + 3C7175AF1E1DEA8000E8C49F /* sched.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sched.c; path = "../../../objs/state-threads-1.9.1/sched.c"; sourceTree = ""; }; + 3C7175B01E1DEA8000E8C49F /* stk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stk.c; path = "../../../objs/state-threads-1.9.1/stk.c"; sourceTree = ""; }; + 3C7175B11E1DEA8000E8C49F /* sync.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sync.c; path = "../../../objs/state-threads-1.9.1/sync.c"; sourceTree = ""; }; 3C8280241BAFF896004A1794 /* compatible.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = compatible.conf; path = ../../../conf/compatible.conf; sourceTree = ""; }; 3C8280251BAFF896004A1794 /* full.one.vhost.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = full.one.vhost.conf; path = ../../../conf/full.one.vhost.conf; sourceTree = ""; }; 3C8280261BAFF896004A1794 /* http.flv.live.edge1.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = http.flv.live.edge1.conf; path = ../../../conf/http.flv.live.edge1.conf; sourceTree = ""; }; @@ -445,18 +464,19 @@ isa = PBXGroup; children = ( 3C1232B81AAE824500CE8F6C /* configure */, + 3C1232BA1AAE826F00CE8F6C /* auto */, 3C1231EF1AAE651100CE8F6C /* core */, 3C1232071AAE814200CE8F6C /* kernel */, 3C12322C1AAE819900CE8F6C /* protocol */, 3C12324B1AAE81CE00CE8F6C /* app */, - 3C1232041AAE80CB00CE8F6C /* main */, - 3C1231F91AAE670E00CE8F6C /* objs */, - 3C1232BA1AAE826F00CE8F6C /* auto */, 3C96ADC41B00A71000885304 /* modules */, - 3C1232B91AAE825100CE8F6C /* scripts */, - 3C1EE6AF1AB107EE00576EE9 /* conf */, + 3C1232041AAE80CB00CE8F6C /* main */, 3C36DB541ABD1CA70066CCAF /* libs */, + 3C1231F91AAE670E00CE8F6C /* objs */, + 3C1EE6AF1AB107EE00576EE9 /* conf */, 3C1232EF1AAEAC5800CE8F6C /* etc */, + 3C1232B91AAE825100CE8F6C /* scripts */, + 3C7175A61E1DEA0500E8C49F /* state-threads */, ); path = srs_xcode; sourceTree = ""; @@ -836,6 +856,24 @@ name = "st-1.9"; sourceTree = ""; }; + 3C7175A61E1DEA0500E8C49F /* state-threads */ = { + isa = PBXGroup; + children = ( + 3C7175A71E1DEA8000E8C49F /* common.h */, + 3C7175A81E1DEA8000E8C49F /* event.c */, + 3C7175A91E1DEA8000E8C49F /* io.c */, + 3C7175AA1E1DEA8000E8C49F /* key.c */, + 3C7175AB1E1DEA8000E8C49F /* Makefile */, + 3C7175AC1E1DEA8000E8C49F /* md.h */, + 3C7175AD1E1DEA8000E8C49F /* md.S */, + 3C7175AE1E1DEA8000E8C49F /* public.h */, + 3C7175AF1E1DEA8000E8C49F /* sched.c */, + 3C7175B01E1DEA8000E8C49F /* stk.c */, + 3C7175B11E1DEA8000E8C49F /* sync.c */, + ); + name = "state-threads"; + sourceTree = ""; + }; 3C96ADC41B00A71000885304 /* modules */ = { isa = PBXGroup; children = ( @@ -928,6 +966,9 @@ 3CD88B3F1ACA9C58000359E0 /* srs_app_async_call.cpp in Sources */, 3C1232961AAE81D900CE8F6C /* srs_app_conn.cpp in Sources */, 3C12322A1AAE814D00CE8F6C /* srs_kernel_ts.cpp in Sources */, + 3C7175B51E1DEA8000E8C49F /* Makefile in Sources */, + 3C7175B71E1DEA8000E8C49F /* sched.c in Sources */, + 3C7175B21E1DEA8000E8C49F /* event.c in Sources */, 3C12329E1AAE81D900CE8F6C /* srs_app_hls.cpp in Sources */, 3CC52DD91ACE4023006FEB01 /* srs_utest_config.cpp in Sources */, 3C663F171AB0155100286D8B /* srs_ingest_rtmp.c in Sources */, @@ -936,6 +977,7 @@ 3C24ECCD1C3B824800460622 /* memory.error.notcmalloc.cpp in Sources */, 3C1232971AAE81D900CE8F6C /* srs_app_dvr.cpp in Sources */, 3CD247C31BB3F14100DC1922 /* srs_kernel_balance.cpp in Sources */, + 3C7175B31E1DEA8000E8C49F /* io.c in Sources */, 3C1232271AAE814D00CE8F6C /* srs_kernel_log.cpp in Sources */, 3C689F961AB6AAAC00C9CEEE /* event.c in Sources */, 3C1232A81AAE81D900CE8F6C /* srs_app_log.cpp in Sources */, @@ -943,6 +985,7 @@ 3C0D422E1B87165900C2508B /* srs_protocol_json.cpp in Sources */, 3C1232B41AAE81D900CE8F6C /* srs_app_st.cpp in Sources */, 3C1232481AAE81A400CE8F6C /* srs_rtmp_stack.cpp in Sources */, + 3C7175B91E1DEA8000E8C49F /* sync.c in Sources */, 3C1232B01AAE81D900CE8F6C /* srs_app_security.cpp in Sources */, 3C12322B1AAE814D00CE8F6C /* srs_kernel_utility.cpp in Sources */, 3C12324A1AAE81A400CE8F6C /* srs_rtsp_stack.cpp in Sources */, @@ -957,8 +1000,10 @@ 3C1232991AAE81D900CE8F6C /* srs_app_empty.cpp in Sources */, 3CC52DDA1ACE4023006FEB01 /* srs_utest_core.cpp in Sources */, 3C36DB5C1ABD1CB90066CCAF /* srs_lib_simple_socket.cpp in Sources */, + 3C7175B61E1DEA8000E8C49F /* md.S in Sources */, 3C1232201AAE814D00CE8F6C /* srs_kernel_aac.cpp in Sources */, 3C8CE01E1C3F482100548CC6 /* srs_app_hourglass.cpp in Sources */, + 3C7175B81E1DEA8000E8C49F /* stk.c in Sources */, 3C1232941AAE81D900CE8F6C /* srs_app_bandwidth.cpp in Sources */, 3C1232221AAE814D00CE8F6C /* srs_kernel_codec.cpp in Sources */, 3C1232B71AAE81D900CE8F6C /* srs_app_utility.cpp in Sources */, @@ -975,6 +1020,7 @@ 3C0E1B8D1B0F5ADF003ADEF7 /* srs_http_stack.cpp in Sources */, 3C1232A01AAE81D900CE8F6C /* srs_app_http_client.cpp in Sources */, 3C689F981AB6AAAC00C9CEEE /* key.c in Sources */, + 3C7175B41E1DEA8000E8C49F /* key.c in Sources */, 3C12329B1AAE81D900CE8F6C /* srs_app_ffmpeg.cpp in Sources */, 3C1232421AAE81A400CE8F6C /* srs_protocol_amf0.cpp in Sources */, 3C4AB9331B8C9148006627D3 /* srs_app_ng_exec.cpp in Sources */, diff --git a/trunk/src/core/srs_core.hpp b/trunk/src/core/srs_core.hpp index afb5e91a2..7a27843b2 100644 --- a/trunk/src/core/srs_core.hpp +++ b/trunk/src/core/srs_core.hpp @@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // current release version #define VERSION_MAJOR 3 #define VERSION_MINOR 0 -#define VERSION_REVISION 10 +#define VERSION_REVISION 11 // generated by configure, only macros. #include