assert(a >= 0);
assert(b >= 0);
- /* Compares two file descriptors. Note that semantics are
- * quite different depending on whether we have kcmp() or we
- * don't. If we have kcmp() this will only return true for
- * dup()ed file descriptors, but not otherwise. If we don't
- * have kcmp() this will also return true for two fds of the same
- * file, created by separate open() calls. Since we use this
- * call mostly for filtering out duplicates in the fd store
- * this difference hopefully doesn't matter too much. */
+ /* Compares two file descriptors. Note that semantics are quite different depending on whether we
+ * have kcmp() or we don't. If we have kcmp() this will only return true for dup()ed file
+ * descriptors, but not otherwise. If we don't have kcmp() this will also return true for two fds of
+ * the same file, created by separate open() calls. Since we use this call mostly for filtering out
+ * duplicates in the fd store this difference hopefully doesn't matter too much. */
if (a == b)
return true;
return true;
if (r > 0)
return false;
- if (!IN_SET(errno, ENOSYS, EACCES, EPERM))
+ if (!ERRNO_IS_NOT_SUPPORTED(errno) && !ERRNO_IS_PRIVILEGE(errno))
return -errno;
/* We don't have kcmp(), use fstat() instead. */
if (!stat_inode_same(&sta, &stb))
return false;
- /* We consider all device fds different, since two device fds
- * might refer to quite different device contexts even though
- * they share the same inode and backing dev_t. */
+ /* We consider all device fds different, since two device fds might refer to quite different device
+ * contexts even though they share the same inode and backing dev_t. */
if (S_ISCHR(sta.st_mode) || S_ISBLK(sta.st_mode))
return false;