7052272: (aio) Definition of ConnectEx doesn't specify PASCAL calling convention

Martijn Verburg martijnverburg at gmail.com
Wed Jun 8 05:38:34 PDT 2011


Hi Alan,

Is this sort of change back portable to a 7 point release?

Cheers,
Martijn

On Wednesday, 8 June 2011, Alan Bateman <Alan.Bateman at oracle.com> wrote:
>
> The asynchronous I/O implementation on Windows defines the ConnectEx extension without specifying the calling convention and so doesn't match the actual calling convention. This creates potential issues although we haven't had any reports. Easily fixed with the attached patch. This one is for jdk8 (too late for jdk7).
>
> -Alan
>
>
> diff --git a/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c b/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c
> --- a/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c
> +++ b/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c
> @@ -44,7 +44,7 @@
> #define SO_UPDATE_CONNECT_CONTEXT 0x7010
> #endif
>
> -typedef BOOL (*ConnectEx_t)
> +typedef BOOL (PASCAL *ConnectEx_t)
> (
>     SOCKET s,
>     const struct sockaddr* name,
>
>


More information about the nio-dev mailing list