diff options
author | Sean Bright <sean.bright@gmail.com> | 2017-12-07 10:52:39 -0500 |
---|---|---|
committer | Sean Bright <sean.bright@gmail.com> | 2017-12-08 13:27:42 -0600 |
commit | f9c6f692053ac865d46cbf8843ab810dc66cba67 (patch) | |
tree | 60bfe167eee2d096abe839803fdd4e4691f6c562 /main/alertpipe.c | |
parent | 52de5a05f0f6bf534c0642a4f43daa562b5b9004 (diff) |
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
Diffstat (limited to 'main/alertpipe.c')
-rw-r--r-- | main/alertpipe.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/main/alertpipe.c b/main/alertpipe.c index fa6ec7bcc..7932a7346 100644 --- a/main/alertpipe.c +++ b/main/alertpipe.c @@ -55,17 +55,8 @@ int ast_alertpipe_init(int alert_pipe[2]) ast_log(LOG_WARNING, "Failed to create alert pipe: %s\n", strerror(errno)); return -1; } else { - int flags = fcntl(alert_pipe[0], F_GETFL); - if (fcntl(alert_pipe[0], F_SETFL, flags | O_NONBLOCK) < 0) { - ast_log(LOG_WARNING, "Failed to set non-blocking mode on alert pipe: %s\n", - strerror(errno)); - ast_alertpipe_close(alert_pipe); - return -1; - } - flags = fcntl(alert_pipe[1], F_GETFL); - if (fcntl(alert_pipe[1], F_SETFL, flags | O_NONBLOCK) < 0) { - ast_log(LOG_WARNING, "Failed to set non-blocking mode on alert pipe: %s\n", - strerror(errno)); + if (ast_fd_set_flags(alert_pipe[0], O_NONBLOCK) + || ast_fd_set_flags(alert_pipe[1], O_NONBLOCK)) { ast_alertpipe_close(alert_pipe); return -1; } |