/* * Look up the file structure corresponding to a file descriptor * and return it with a reference held on the file, not the * descriptor. * * This is heavyweight and only used when accessing descriptors * from a foreign process. The caller must ensure that `p' does * not exit or fork across this call. * * To release the file (not descriptor) reference, use closef(). */