From 16ae8330d2955ef2d7bd8e360b700fa9aaf10e1c Mon Sep 17 00:00:00 2001 From: Sean Bright 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: