Sorry about the delay, everyone.  I was traveling and not paying much
attention to email.

I applied this to master.

On Tue, Jun 20, 2017 at 11:11:05AM -0700, Guru Shetty wrote:
> On 20 June 2017 at 09:31, Alin Serdean <[email protected]>
> wrote:
> 
> > A lot of tests are failing, due to the open flow ports being outputted
> > using
> > names instead of numbers.
> > i.e.: http://64.119.130.115/ovs/beb75a40fdc295bfd6521b0068b4cd
> > 12f6de507c/testsuite.dir/0464/testsuite.log.gz
> >
> > The issues encountered above is because 'monitor' with 'detach' arguments
> > are
> > specified, that in turn will call 'close_standard_fds'
> > (https://github.com/openvswitch/ovs/blob/master/lib/daemon-unix.c#L472)
> > which will create a duplicate fd over '/dev/null' on Linux and 'nul' on
> > Windows.
> >
> > 'isatty' will be called on those FDs.
> > What POSIX standard says:
> > http://pubs.opengroup.org/onlinepubs/009695399/functions/isatty.html
> > 'The isatty() function shall test whether fildes, an open file descriptor,
> > is associated with a terminal device.'
> > What MSDN says:
> > https://msdn.microsoft.com/en-us/library/f4s0ddew(VS.80).aspx
> > 'The _isatty function determines whether fd is associated with a character
> > device (a terminal, console, printer, or serial port).'
> >
> > This patch adds another check using 'GetConsoleMode'
> > https://msdn.microsoft.com/en-us/library/windows/desktop/
> > ms683167(v=vs.85).aspx
> > which will fail if the handle pointing to the file descriptor is not
> > associated
> > to a console.
> >
> > Signed-off-by: Alin Gabriel Serdean <[email protected]>
> > Co-authroed-by: Ben Pfaff <[email protected]>
> >
> Ben,
>  Do I have take the liberty to add your Signed-off-by?
> 
> 
> > ---
> > v2 replace `isatty` in unistd.h
> > ---
> >  include/windows/unistd.h | 16 ++++++++++++++++
> >  1 file changed, 16 insertions(+)
> >
> > diff --git a/include/windows/unistd.h b/include/windows/unistd.h
> > index 2e9f0ae..21cc56f 100644
> > --- a/include/windows/unistd.h
> > +++ b/include/windows/unistd.h
> > @@ -85,4 +85,20 @@ __inline long sysconf(int type)
> >      return value;
> >  }
> >
> > +/* On Windows, a console is a specialized character device, and isatty()
> > only
> > + * reports whether a file description is a character device and thus
> > reports
> > + * that devices such as /dev/null are ttys.  This replacement avoids that
> > + * problem. */
> > +#undef isatty
> > +#define isatty(fd) rpl_isatty(fd)
> > +static __inline int
> > +rpl_isatty(int fd)
> > +{
> > +    HANDLE h = (HANDLE) _get_osfhandle(fd);
> > +    DWORD st;
> > +    return (_isatty(STDOUT_FILENO)
> > +            && h != INVALID_HANDLE_VALUE
> > +            && GetConsoleMode(h, &st));
> > +}
> > +
> >  #endif /* unistd.h  */
> > --
> > 2.10.2.windows.1
> > _______________________________________________
> > dev mailing list
> > [email protected]
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> >
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to