> From: [EMAIL PROTECTED] (Paul Jarc)
> Date: Fri, 09 Aug 2002 14:25:20 -0400
> 
> Derek Robert Price <[EMAIL PROTECTED]> wrote:
> > I assume they have different file table entries in the kernel
> > because stderr can be set to nonblock without doing the same to
> > stdout.  I need to know when the two file descriptors point to the
> > same file table entry (i.e. $ cvs <whatever> 2>&1).
> 
> Ah.  So frob the flags on one of them and see if the other one changes
> too; then restore the original flags.  This still isn't perfect, for
> the same reason that the problem exists: another process with a copy
> of the same descriptor could be messing around with flags at the same
> time.  But that seems unlikely in the cases where the problem appears.

Since (as you mention) this optimization isn't safe, then I wouldn't
do it.  For this particular application, it's just an optimization to
check for the same file table entries; it's OK to omit the
optimization if it isn't safe.

In contrast, the st_dev+st_ino optimization is safe, since it doesn't
make any assumptions about what other processes are doing.


_______________________________________________
Bug-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-cvs

Reply via email to