mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-09 22:45:49 +00:00
Merged revisions 284593,284595 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r284593 | tilghman | 2010-09-01 17:59:50 -0500 (Wed, 01 Sep 2010) | 18 lines Merged revisions 284478 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r284478 | tilghman | 2010-09-01 13:49:11 -0500 (Wed, 01 Sep 2010) | 11 lines Ensure that all areas that previously used select(2) now use poll(2), with implementations that need poll(2) implemented with select(2) safe against 1024-bit overflows. This is a followup to the fix for the pthread timer in 1.6.2 and beyond, fixing a potential crash bug in all supported releases. (closes issue #17678) Reported by: russell Branch: https://origsvn.digium.com/svn/asterisk/team/tilghman/ast_select Review: https://reviewboard.asterisk.org/r/824/ ........ ................ r284595 | tilghman | 2010-09-01 22:57:43 -0500 (Wed, 01 Sep 2010) | 2 lines Failed to rerun bootstrap.sh after last commit ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@284597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -397,8 +397,7 @@ int ast_stun_request(int s, struct sockaddr_in *dst,
|
||||
for (retry = 0; retry < 3; retry++) { /* XXX make retries configurable */
|
||||
/* send request, possibly wait for reply */
|
||||
unsigned char reply_buf[1024];
|
||||
fd_set rfds;
|
||||
struct timeval to = { 3, 0 }; /* timeout, make it configurable */
|
||||
struct pollfd pfds = { .fd = s, .events = POLLIN };
|
||||
struct sockaddr_in src;
|
||||
socklen_t srclen;
|
||||
|
||||
@@ -410,9 +409,7 @@ int ast_stun_request(int s, struct sockaddr_in *dst,
|
||||
}
|
||||
if (answer == NULL)
|
||||
break;
|
||||
FD_ZERO(&rfds);
|
||||
FD_SET(s, &rfds);
|
||||
res = ast_select(s + 1, &rfds, NULL, NULL, &to);
|
||||
res = ast_poll(&pfds, 1, 3000);
|
||||
if (res <= 0) /* timeout or error */
|
||||
continue;
|
||||
memset(&src, 0, sizeof(src));
|
||||
|
Reference in New Issue
Block a user