mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-02 11:06:31 +00:00
utils: Add convenience function for setting fd flags
There are many places in the code base where we ignore the return value of fcntl() when getting/setting file descriptior flags. This patch introduces a convenience function that allows setting or clearing file descriptor flags and will also log an error on failure for later analysis. Change-Id: I8b81901e1b1bd537ca632567cdb408931c6eded7
This commit is contained in:
@@ -613,7 +613,6 @@ static int dahdi_translate(struct ast_trans_pvt *pvt, uint32_t dst_dahdi_fmt, ui
|
||||
/* Request translation through zap if possible */
|
||||
int fd;
|
||||
struct codec_dahdi_pvt *dahdip = pvt->pvt;
|
||||
int flags;
|
||||
int tried_once = 0;
|
||||
const char *dev_filename = "/dev/dahdi/transcode";
|
||||
|
||||
@@ -659,11 +658,7 @@ retry:
|
||||
return -1;
|
||||
}
|
||||
|
||||
flags = fcntl(fd, F_GETFL);
|
||||
if (flags > - 1) {
|
||||
if (fcntl(fd, F_SETFL, flags | O_NONBLOCK))
|
||||
ast_log(LOG_WARNING, "Could not set non-block mode!\n");
|
||||
}
|
||||
ast_fd_set_flags(fd, O_NONBLOCK);
|
||||
|
||||
dahdip->fd = fd;
|
||||
|
||||
|
Reference in New Issue
Block a user