Merged revisions 176249,176252 via svnmerge from
[asterisk/asterisk.git] / apps / app_meetme.c
index 5a3783f..d4cc236 100644 (file)
@@ -1973,7 +1973,6 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
        int ms;
        int nfds;
        int res;
-       int flags;
        int retrydahdi;
        int origfd;
        int musiconhold = 0;
@@ -2332,24 +2331,13 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
  dahdiretry:
        origfd = chan->fds[0];
        if (retrydahdi) {
-               fd = open("/dev/dahdi/pseudo", O_RDWR);
+               /* open pseudo in non-blocking mode */
+               fd = open("/dev/dahdi/pseudo", O_RDWR | O_NONBLOCK);
                if (fd < 0) {
                        ast_log(LOG_WARNING, "Unable to open pseudo channel: %s\n", strerror(errno));
                        goto outrun;
                }
                using_pseudo = 1;
-               /* Make non-blocking */
-               flags = fcntl(fd, F_GETFL);
-               if (flags < 0) {
-                       ast_log(LOG_WARNING, "Unable to get flags: %s\n", strerror(errno));
-                       close(fd);
-                       goto outrun;
-               }
-               if (fcntl(fd, F_SETFL, flags | O_NONBLOCK)) {
-                       ast_log(LOG_WARNING, "Unable to set flags: %s\n", strerror(errno));
-                       close(fd);
-                       goto outrun;
-               }
                /* Setup buffering information */
                memset(&bi, 0, sizeof(bi));
                bi.bufsize = CONF_SIZE / 2;