fd-util: use ERRNO_IS_XYZ() macros where appropriate
This commit is contained in:
+8
-12
@@ -417,14 +417,11 @@ int same_fd(int a, int b) {
|
||||
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;
|
||||
@@ -436,7 +433,7 @@ int same_fd(int a, int b) {
|
||||
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. */
|
||||
@@ -449,9 +446,8 @@ int same_fd(int a, int b) {
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user