And of course return us as a winner
authorMark Spencer <markster@digium.com>
Fri, 5 Mar 2004 18:32:59 +0000 (18:32 +0000)
committerMark Spencer <markster@digium.com>
Fri, 5 Mar 2004 18:32:59 +0000 (18:32 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2353 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channel.c

index 1f50afe..a56dfd9 100755 (executable)
--- a/channel.c
+++ b/channel.c
@@ -893,8 +893,11 @@ struct ast_channel *ast_waitfor_nandfds(struct ast_channel **c, int n, int *fds,
                time(&now);
        for (x=0;x<n;x++) {
                c[x]->blocking = 0;
-               if (havewhen && c[x]->whentohangup && (now > c[x]->whentohangup))
+               if (havewhen && c[x]->whentohangup && (now > c[x]->whentohangup)) {
                        c[x]->_softhangup |= AST_SOFTHANGUP_TIMEOUT;
+                       if (!winner)
+                               winner = c[x];
+               }
                for (y=0;y<AST_MAX_FDS;y++) {
                        if (c[x]->fds[y] > -1) {
                                if ((FD_ISSET(c[x]->fds[y], &rfds) || FD_ISSET(c[x]->fds[y], &efds)) && !winner) {