mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
fix the thread stop bug, must wait when not joinable.
This commit is contained in:
parent
d317528af9
commit
66837ffa6e
3 changed files with 17 additions and 14 deletions
|
@ -129,19 +129,20 @@ namespace internal {
|
|||
if (ret) {
|
||||
srs_warn("core: ignore join thread failed.");
|
||||
}
|
||||
}
|
||||
|
||||
// wait the thread actually terminated.
|
||||
// sometimes the thread join return -1, for example,
|
||||
// when thread use st_recvfrom, the thread join return -1.
|
||||
// so here, we use a variable to ensure the thread stopped.
|
||||
// @remark even the thread not joinable, we must ensure the thread stopped when stop.
|
||||
while (!really_terminated) {
|
||||
st_usleep(10 * 1000);
|
||||
|
||||
// wait the thread actually terminated.
|
||||
// sometimes the thread join return -1, for example,
|
||||
// when thread use st_recvfrom, the thread join return -1.
|
||||
// so here, we use a variable to ensure the thread stopped.
|
||||
while (!really_terminated) {
|
||||
st_usleep(10 * 1000);
|
||||
|
||||
if (really_terminated) {
|
||||
break;
|
||||
}
|
||||
srs_warn("core: wait thread to actually terminated");
|
||||
if (really_terminated) {
|
||||
break;
|
||||
}
|
||||
srs_warn("core: wait thread to actually terminated");
|
||||
}
|
||||
|
||||
tid = NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue