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:
Sean Bright
2017-12-07 10:52:39 -05:00
parent 54a86779a3
commit f726f11974
19 changed files with 103 additions and 104 deletions

View File

@@ -115,7 +115,6 @@ static int ices_exec(struct ast_channel *chan, const char *data)
int fds[2];
int ms = -1;
int pid = -1;
int flags;
struct ast_format *oreadformat;
struct ast_frame *f;
char filename[256]="";
@@ -130,8 +129,7 @@ static int ices_exec(struct ast_channel *chan, const char *data)
ast_log(LOG_WARNING, "Unable to create pipe\n");
return -1;
}
flags = fcntl(fds[1], F_GETFL);
fcntl(fds[1], F_SETFL, flags | O_NONBLOCK);
ast_fd_set_flags(fds[1], O_NONBLOCK);
ast_stopstream(chan);