From 1dae8fc987a7dc951e5d739b5c04b65448b655ff Mon Sep 17 00:00:00 2001 From: zhengfl Date: Thu, 5 Nov 2015 13:39:41 +0800 Subject: [PATCH 1/2] fix #511, fix the bug of thread stop invalid. --- trunk/src/app/srs_app_edge.cpp | 0 trunk/src/app/srs_app_thread.cpp | 7 +++++-- 2 files changed, 5 insertions(+), 2 deletions(-) mode change 100644 => 100755 trunk/src/app/srs_app_edge.cpp mode change 100644 => 100755 trunk/src/app/srs_app_thread.cpp diff --git a/trunk/src/app/srs_app_edge.cpp b/trunk/src/app/srs_app_edge.cpp old mode 100644 new mode 100755 diff --git a/trunk/src/app/srs_app_thread.cpp b/trunk/src/app/srs_app_thread.cpp old mode 100644 new mode 100755 index 274c16f6b..bed357397 --- a/trunk/src/app/srs_app_thread.cpp +++ b/trunk/src/app/srs_app_thread.cpp @@ -100,11 +100,12 @@ namespace internal { return ret; } + disposed = false; // we set to loop to true for thread to run. loop = true; // wait for cid to ready, for parent thread to get the cid. - while (_cid < 0 && loop) { + while (_cid < 0) { st_usleep(10 * 1000); } @@ -124,7 +125,9 @@ namespace internal { dispose(); - tid = NULL; + _cid = -1; + can_run = false; + tid = NULL; } bool SrsThread::can_loop() From 38b81ce31294b59dedea0fe7ed184ac3d30d1ced Mon Sep 17 00:00:00 2001 From: zhengfl Date: Thu, 5 Nov 2015 13:47:30 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=85=81=E8=AE=B8=E6=93=8D=E4=BD=9CSrsStre?= =?UTF-8?q?am=E4=B8=AD=E7=9A=84=E5=87=BD=E6=95=B0=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E9=95=BF=E5=BA=A6=E4=B8=BA0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- trunk/src/kernel/srs_kernel_stream.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 trunk/src/kernel/srs_kernel_stream.cpp diff --git a/trunk/src/kernel/srs_kernel_stream.cpp b/trunk/src/kernel/srs_kernel_stream.cpp old mode 100644 new mode 100755 index 7b1281d33..376ec4402 --- a/trunk/src/kernel/srs_kernel_stream.cpp +++ b/trunk/src/kernel/srs_kernel_stream.cpp @@ -87,7 +87,7 @@ bool SrsStream::empty() bool SrsStream::require(int required_size) { - srs_assert(required_size > 0); + srs_assert(required_size >= 0); return required_size <= nb_bytes - (p - bytes); }