From bedf16b0413155ad384811a55743196aa98aa800 Mon Sep 17 00:00:00 2001 From: Sean Bright <sean.bright@gmail.com> Date: Tue, 11 Dec 2018 10:06:15 -0500 Subject: [PATCH] utils: Don't set or clear flags that don't need setting or clearing Change-Id: I0e7fb507ac09b15e45e1ff8501ecfca67afa5217 --- main/utils.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/main/utils.c b/main/utils.c index e0b8a6ec02..b45e7b5179 100644 --- a/main/utils.c +++ b/main/utils.c @@ -2730,9 +2730,17 @@ int __ast_fd_set_flags(int fd, int flags, enum ast_fd_flag_operation op, switch (op) { case AST_FD_FLAG_SET: + if ((f & flags) == flags) { + /* There is nothing to set */ + return 0; + } f |= flags; break; case AST_FD_FLAG_CLEAR: + if (!(f & flags)) { + /* There is nothing to clear */ + return 0; + } f &= ~flags; break; default: -- GitLab