[asterisk-commits] mmichelson: trunk r176253 - in /trunk: ./ apps/app_meetme.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Feb 16 15:40:40 CST 2009
Author: mmichelson
Date: Mon Feb 16 15:40:40 2009
New Revision: 176253
URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=176253
Log:
Merged revisions 176249,176252 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r176249 | mmichelson | 2009-02-16 15:34:27 -0600 (Mon, 16 Feb 2009) | 14 lines
Open the DAHDI pseudo device and set it to be nonblocking atomically
Apparently on FreeBSD, attempting to set the O_NONBLOCKING flag separately
from opening the file was causing an "inappropriate ioctl for device" error.
While I cannot fathom why this would be happening, I certainly am not opposed
to making the code a bit more compact/efficient if it also fixes a bug.
(closes issue #14482)
Reported by: ys
Patches:
meetme.patch uploaded by ys (license 281)
Tested by: ys
........
r176252 | mmichelson | 2009-02-16 15:39:21 -0600 (Mon, 16 Feb 2009) | 3 lines
Remove unused variable and make dev-mode compilation happy
........
Modified:
trunk/ (props changed)
trunk/apps/app_meetme.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Modified: trunk/apps/app_meetme.c
URL: http://svn.digium.com/svn-view/asterisk/trunk/apps/app_meetme.c?view=diff&rev=176253&r1=176252&r2=176253
==============================================================================
--- trunk/apps/app_meetme.c (original)
+++ trunk/apps/app_meetme.c Mon Feb 16 15:40:40 2009
@@ -1973,7 +1973,6 @@
int ms;
int nfds;
int res;
- int flags;
int retrydahdi;
int origfd;
int musiconhold = 0;
@@ -2332,24 +2331,13 @@
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;
More information about the asterisk-commits
mailing list