On Wed, Nov 19, 2008 at 11:41:43AM -0500, David Lively wrote:
While starting to think about Windows compability, I realized the
newly
exposed API for registering an external EventImpl is not adequate.
Currently it's assuming 32-bit unix fds. But Windows uses a pointer
(HANDLE) here. So we need to generalize this interface so it can be
implemented for 64-bit Windows. The attached patch does this. (I'm
sure it conflicts with work Dan B is doing, so I'm hoping he'll just
incorporate this into his changes.)
I'm not sure whether this is actually required. We're using gnulib for
socket stuff, and that wraps the Winsock socket() call so that it returns
a real file descriptor rather than a socket handle. It does this calling
_open_osfhandle which appears to be declared to accept a 'long' and return
an 'int' - at least in MinGW headers.
MinGW doesn't implement Win64 though, so its possible the header isn't
quite right. If you have a Win64 box available, could you post what you
see as the declarations for
_open_osfhandle
_get_osfhandle
Regards,
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|