Skip to content
Snippets Groups Projects
Commit 5ef59963 authored by Mark Spencer's avatar Mark Spencer
Browse files

Fix timeout > 600000 on Linux x86-32

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6836 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 56135f21
No related branches found
No related tags found
No related merge requests found
......@@ -1325,7 +1325,20 @@ struct ast_channel *ast_waitfor_nandfds(struct ast_channel **c, int n, int *fds,
}
if (*ms > 0)
start = ast_tvnow();
res = poll(pfds, max, rms);
if (sizeof(int) == 4) {
do {
int kbrms = rms;
if (kbrms > 600000)
kbrms = 600000;
res = poll(pfds, max, kbrms);
if (!res)
rms -= kbrms;
} while (!res && (rms > 0));
} else {
res = poll(pfds, max, rms);
}
if (res < 0) {
for (x=0; x < n; x++)
ast_clear_flag(c[x], AST_FLAG_BLOCKING);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment