[ovs-git] [openvswitch/ovs] add49d: Fix nonstandard isatty on Windows
GitHub
noreply at github.com
Thu Jul 6 15:32:55 UTC 2017
Branch: refs/heads/master
Home: https://github.com/openvswitch/ovs
Commit: add49d45bb7e87ad2ad8ccef8d6447ca8a57c89c
https://github.com/openvswitch/ovs/commit/add49d45bb7e87ad2ad8ccef8d6447ca8a57c89c
Author: Alin Serdean <aserdean at cloudbasesolutions.com>
Date: 2017-07-06 (Thu, 06 Jul 2017)
Changed paths:
M include/windows/unistd.h
Log Message:
-----------
Fix nonstandard isatty on Windows
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/beb75a40fdc295bfd6521b0068b4cd12f6de507c/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 <aserdean at cloudbasesolutions.com>
Co-authored-by: Ben Pfaff <blp at ovn.org>
Signed-off-by: Ben Pfaff <blp at ovn.org>
Acked-by: Anand Kumar <kumaranand at vmware.com>
More information about the git
mailing list