mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Squash: For #1708
This commit is contained in:
parent
440f29b758
commit
93242918ad
6 changed files with 21 additions and 3 deletions
|
@ -125,6 +125,7 @@ SrsFastCoroutine::SrsFastCoroutine(string n, ISrsCoroutineHandler* h)
|
|||
trd = NULL;
|
||||
trd_err = srs_success;
|
||||
started = interrupted = disposed = cycle_done = false;
|
||||
stopping_ = false;
|
||||
|
||||
// 0 use default, default is 64K.
|
||||
stack_size = 0;
|
||||
|
@ -138,6 +139,7 @@ SrsFastCoroutine::SrsFastCoroutine(string n, ISrsCoroutineHandler* h, SrsContext
|
|||
trd = NULL;
|
||||
trd_err = srs_success;
|
||||
started = interrupted = disposed = cycle_done = false;
|
||||
stopping_ = false;
|
||||
|
||||
// 0 use default, default is 64K.
|
||||
stack_size = 0;
|
||||
|
@ -192,9 +194,14 @@ srs_error_t SrsFastCoroutine::start()
|
|||
void SrsFastCoroutine::stop()
|
||||
{
|
||||
if (disposed) {
|
||||
if (stopping_) {
|
||||
srs_error("thread is stopping by %s", stopping_cid_.c_str());
|
||||
srs_assert(!stopping_);
|
||||
}
|
||||
return;
|
||||
}
|
||||
disposed = true;
|
||||
stopping_ = true;
|
||||
|
||||
interrupt();
|
||||
|
||||
|
@ -225,6 +232,9 @@ void SrsFastCoroutine::stop()
|
|||
if (trd_err == srs_success && !cycle_done) {
|
||||
trd_err = srs_error_new(ERROR_THREAD_TERMINATED, "terminated");
|
||||
}
|
||||
|
||||
// Now, we'are stopped.
|
||||
stopping_ = false;
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue