diff --git a/apps/app_meetme.c b/apps/app_meetme.c index 5a3783f2ea376466b8653fe78003c7c3d5be81e3..d4cc236c933a2c058eae4e69bc28761693be65e5 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -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;