From: Sean Bright Date: Tue, 11 Dec 2018 15:06:15 +0000 (-0500) Subject: utils: Don't set or clear flags that don't need setting or clearing X-Git-Tag: 16.2.0-rc1~41^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=16ae8330d2955ef2d7bd8e360b700fa9aaf10e1c;p=thirdparty%2Fasterisk.git utils: Don't set or clear flags that don't need setting or clearing Change-Id: I0e7fb507ac09b15e45e1ff8501ecfca67afa5217 --- 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: