- case PROX_FDTYPE_VNODE : {
- int buf_used;
- struct vnode_fdinfo vi;
-
- buf_used = proc_pidfdinfo(pid, fdp->proc_fd, PROC_PIDFDVNODEINFO, &vi, sizeof(vi));
- if (buf_used <= 0) {
- if (errno == ENOENT) {
- /*
- * The file descriptor's vnode may have been revoked. This is a
- * bit of a hack, since an ENOENT error might not always mean the
- * descriptor's vnode has been revoked. As the libproc API
- * matures, this code may need to be revisited.
- */
- continue;
- }
- return -1;
- } else if (buf_used < sizeof(vi)) {
- // if we didn't get enough information
- return -1;
- }