1
0
Fork 0
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:
winlin 2015-06-09 11:47:04 +08:00
parent d317528af9
commit 66837ffa6e
3 changed files with 17 additions and 14 deletions

View file

@ -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;