Date: Fri, 8 Jan 2016 11:22:28 +0800 (PHT) From: Paul Goyette <p...@vps1.whooppee.com> Message-ID: <pine.neb.4.64.1601081115270.22...@vps1.whooppee.com>
| Is there a "supported" interface for detaching the file (or descriptor) | from the process without closing it? Actually, thinking through this more, why not just "fix" filemon to make a proper reference to the file, instead of the half baked thing it is currently doing. That is, instead of a fd_getfile() without an (almost immediate) fd_putfile() so keeping ff_refcount incremented, in filemon, just do fp = fd_getfile(...); fp->f_count++; fd_putfile(...); so filemon has a proper reference to the file*. When it is done, it just closes it, like any other file would be closed (which decrements f_count and frees the struct file if it goes to 0). Wouldn't this solve all the problems, keep the semantics the same, and just generally be cleaner? Is there some particular benefit filemon gets (aside from a little less bookkeeping work) by sticking to its half baked reference grabbing scheme? kre