Consider ENXIO (No such device or address) reason to check isatty()
Aligns with EPERM (Operation not permitted) and ENOENT (No such file or directory), and is what errno is set to on macOS when opening the /dev/tty device when running inside e.g. Xcode, where isatty() will return true. Change-Id: I09b88eaa3ff611d95ab37f0ff4df9aaaca52747d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
63ef26d583
commit
fb38db29e1
@ -197,7 +197,7 @@ static bool willLogToConsole()
|
||||
# elif defined(Q_OS_UNIX)
|
||||
// if /dev/tty exists, we can only open it if we have a controlling TTY
|
||||
int devtty = qt_safe_open("/dev/tty", O_RDONLY);
|
||||
if (devtty == -1 && (errno == ENOENT || errno == EPERM)) {
|
||||
if (devtty == -1 && (errno == ENOENT || errno == EPERM || errno == ENXIO)) {
|
||||
// no /dev/tty, fall back to isatty on stderr
|
||||
return isatty(STDERR_FILENO);
|
||||
} else if (devtty != -1) {
|
||||
|
Loading…
Reference in New Issue
Block a user