1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

fix dvr mem leak, free msg when not use it.

This commit is contained in:
winlin 2014-04-16 15:58:06 +08:00
parent 36c2c37b42
commit 0c91fa6bed
5 changed files with 27 additions and 0 deletions

View file

@ -61,6 +61,7 @@ SrsThread::SrsThread(ISrsThreadHandler* thread_handler, int64_t interval_us)
tid = NULL;
loop = false;
_cid = -1;
}
SrsThread::~SrsThread()
@ -68,6 +69,11 @@ SrsThread::~SrsThread()
stop();
}
int SrsThread::cid()
{
return _cid;
}
int SrsThread::start()
{
int ret = ERROR_SUCCESS;
@ -83,6 +89,11 @@ int SrsThread::start()
return ret;
}
// wait for cid to ready, for parent thread to get the cid.
while (_cid < 0) {
st_usleep(10 * SRS_TIME_MILLISECONDS);
}
return ret;
}
@ -111,6 +122,7 @@ void SrsThread::thread_cycle()
{
int ret = ERROR_SUCCESS;
_cid = _srs_context->get_id();
srs_assert(handler);
_srs_context->generate_id();