Re: [dev] [PATCH 1/1] remove useless dup()

From: Roberto E. Vargas Caballero <k0ga_AT_shike2.com>
Date: Thu, 9 Jul 2015 20:14:47 +0200

On Wed, Jul 08, 2015 at 09:30:47PM +0200, Markus Wichmann wrote:
> On Wed, Jul 08, 2015 at 12:00:35PM +0200, Roberto E. Vargas Caballero wrote:
> >
> > > We are ignoring return value of dup(), so just remove it.
> >
> >
> > From dup(3):
> >
> > The dup() system call creates a copy of the file descriptor oldfd,
> > using the lowest-numbered unused descriptor for the new descriptor.
> >
> >
>
> Yes, but can't dup() fail? Shouldn't we at least check or that?

No, it cannot. From dup(2):
ERRORS
     EBADF
          oldfd isn't an open file descriptor, or newfd is out of
          the allowed range for file descriptors.

     EBUSY
          (Linux only) This may be returned by dup2() or dup3()
          during a race condition with open(2) and dup().

     EINTR
          The dup2() or dup3() call was interrupted by a signal;
          see signal(7).

     EINVAL
          (dup3()) flags contain an invalid value. Or, oldfd was
          equal to newfd.

     EMFILE
          The process already has the maximum number of file
          descriptors open and tried to open a new one.

Any of them apply here.

I'm beginning to think that maybe it is a good idea to change the
call to dup to dup2, not due to the lateral effect or to the error
handling, due to we have calls to dup2 in the same function and we
will also remove a line of code, so I will accept such patch.

Regards,
Received on Thu Jul 09 2015 - 20:14:47 CEST

This archive was generated by hypermail 2.3.0 : Thu Jul 09 2015 - 20:24:09 CEST