On 12/21/2017 09:59 AM, Daniel P. Berrange wrote:
The fd_is_socket() helper method is useful in a few places, so put it in
the common sockets code.
Signed-off-by: Daniel P. Berrange <berra...@redhat.com>
---
include/qemu/sockets.h | 1 +
io/channel-util.c | 13 -------------
util/qemu-sockets.c | 13 +++++++++++++
3 files changed, 14 insertions(+), 13 deletions(-)
Reviewed-by: Eric Blake <ebl...@redhat.com>
But while you are touching this...
+++ b/util/qemu-sockets.c
@@ -91,6 +91,19 @@ NetworkAddressFamily inet_netfamily(int family)
return NETWORK_ADDRESS_FAMILY_UNKNOWN;
}
+bool fd_is_socket(int fd)
+{
+ int optval;
+ socklen_t optlen;
+ optlen = sizeof(optval);
+ return qemu_getsockopt(fd,
+ SOL_SOCKET,
+ SO_TYPE,
+ (char *)&optval,
This cast is pointless (although you are just moving it from the old
code). qemu_getsockopt() already takes care of casting for mingw (where
the signature is not POSIX-compliant), and on all other platforms, the
argument is already prototyped as void*; and since void* accepts
anything, you don't have to go through an intermediate char*.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org