src: conditionalize use of S_ISSOCK macro

The S_ISSOCK macro is not available on Windows platforms.

Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2020-01-17 11:17:49 +00:00
parent cf308f13db
commit 3ec271bada
2 changed files with 4 additions and 0 deletions

View File

@ -10584,12 +10584,14 @@ virDomainOpenGraphics(virDomainPtr dom,
goto error;
}
#ifndef WIN32
if (!S_ISSOCK(sb.st_mode)) {
virReportInvalidArg(fd,
_("fd %d must be a socket"),
fd);
goto error;
}
#endif /* !WIN32 */
virCheckReadOnlyGoto(dom->conn->flags, error);

View File

@ -1340,11 +1340,13 @@ virSecurityManagerMetadataLock(virSecurityManagerPtr mgr G_GNUC_UNUSED,
}
if ((fd = open(p, O_RDWR)) < 0) {
#ifndef WIN32
if (S_ISSOCK(sb.st_mode)) {
/* Sockets can be opened only if there exists the
* other side that listens. */
continue;
}
#endif /* !WIN32 */
virReportSystemError(errno,
_("unable to open %s"),