FSCORE-365
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13286 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
8286dedd5d
commit
fd115395f9
|
@ -786,16 +786,24 @@ SWITCH_DECLARE(switch_status_t) switch_pollset_create(switch_pollset_t **pollset
|
||||||
|
|
||||||
SWITCH_DECLARE(switch_status_t) switch_pollset_add(switch_pollset_t *pollset, const switch_pollfd_t *descriptor)
|
SWITCH_DECLARE(switch_status_t) switch_pollset_add(switch_pollset_t *pollset, const switch_pollfd_t *descriptor)
|
||||||
{
|
{
|
||||||
|
if (!pollset) {
|
||||||
|
return SWITCH_STATUS_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
return apr_pollset_add((apr_pollset_t *)pollset, (const apr_pollfd_t *)descriptor);
|
return apr_pollset_add((apr_pollset_t *)pollset, (const apr_pollfd_t *)descriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
SWITCH_DECLARE(switch_status_t) switch_poll(switch_pollfd_t *aprset, int32_t numsock, int32_t *nsds, switch_interval_time_t timeout)
|
SWITCH_DECLARE(switch_status_t) switch_poll(switch_pollfd_t *aprset, int32_t numsock, int32_t *nsds, switch_interval_time_t timeout)
|
||||||
{
|
{
|
||||||
apr_status_t st = apr_poll((apr_pollfd_t *)aprset, numsock, nsds, timeout);
|
apr_status_t st = SWITCH_STATUS_FALSE;
|
||||||
|
|
||||||
|
if (aprset) {
|
||||||
|
st = apr_poll((apr_pollfd_t *)aprset, numsock, nsds, timeout);
|
||||||
|
|
||||||
if (st == APR_TIMEUP) {
|
if (st == APR_TIMEUP) {
|
||||||
st = SWITCH_STATUS_TIMEOUT;
|
st = SWITCH_STATUS_TIMEOUT;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return st;
|
return st;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1475,7 +1475,8 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_
|
||||||
int do_cng = 0;
|
int do_cng = 0;
|
||||||
|
|
||||||
if (rtp_session->timer.interval) {
|
if (rtp_session->timer.interval) {
|
||||||
if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_AUTOFLUSH) || switch_test_flag(rtp_session, SWITCH_RTP_FLAG_STICKY_FLUSH)) {
|
if ((switch_test_flag(rtp_session, SWITCH_RTP_FLAG_AUTOFLUSH) || switch_test_flag(rtp_session, SWITCH_RTP_FLAG_STICKY_FLUSH)) &&
|
||||||
|
rtp_session->read_pollfd) {
|
||||||
if (switch_poll(rtp_session->read_pollfd, 1, &fdr, 1) == SWITCH_STATUS_SUCCESS) {
|
if (switch_poll(rtp_session->read_pollfd, 1, &fdr, 1) == SWITCH_STATUS_SUCCESS) {
|
||||||
hot_socket = 1;
|
hot_socket = 1;
|
||||||
}
|
}
|
||||||
|
@ -1487,7 +1488,7 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_
|
||||||
|
|
||||||
recvfrom:
|
recvfrom:
|
||||||
|
|
||||||
if (!rtp_session->timer.interval) {
|
if (!rtp_session->timer.interval && rtp_session->read_pollfd) {
|
||||||
poll_status = switch_poll(rtp_session->read_pollfd, 1, &fdr, poll_sec * 1000000);
|
poll_status = switch_poll(rtp_session->read_pollfd, 1, &fdr, poll_sec * 1000000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue