Winsock2 & overlapped IO

Mike McCormack mike_mccormack at start.com.au
Thu Nov 8 20:13:20 CST 2001


Hi Martin,

Original message from: Martin Wilck <Martin.Wilck at fujitsu-siemens.com>

>I have taken a closer look at this code. I believe a very similar
approach
>is possible for Winsock. However, there are a few problems:

Good to see you are a man of action, not just words!

>typedef struct async_private
..
>What do you think about this?
>
>It would be cleaner to define a "general" async structure
>containing either a type-specific union or a pointer to
>type-specific data, and using void* for pointers. However, that would
>require even more changes in the async file I/O code, which I'd like
to
>avoid at the moment.

i agree with you it would be better to use a union... i'll have a go
at making a patch to do this. i'll probably understand the mess i've
created in files/file.c more easily ;-)

>Another difference is that the overlapped Winsock routines cause
>asynchronous success notification (i.e. calling the completion
routine or
>signalling the lpOverlapped->hEvent) even if they are immediately
>successful, which seems not to be the case for asynchronous file I/O.
>
>That would require a minor change in the check_async_list() routine.

Cool, go for it.

>Please tell me your opinion!
>
>Regards,
>Martin

i wrote a longer reply with a union definition in it, but accidently
resized my Netscape window an lost it when the page reloaded :-( Could
be about time to give up on this web-based email thing.

Mike

btw. in the patch in your other mail, you have:

-typedef struct _OVERLAPPED *  LPWSAOVERLAPPED;
 typedef HANDLE WSAEVENT;
+
+typedef struct _WSAOVERLAPPED {
+    DWORD    Internal;
+    DWORD    InternalHigh;
+    DWORD    Offset;
+    DWORD    OffsetHigh;
+    WSAEVENT hEvent;
+} WSAOVERLAPPED, *LPWSAOVERLAPPED;
+

can you just use the following?

typedef OVERLAPPED WSAOVERLAPPED;
typedef LPOVERLAPPED LPWSAOVERLAPPED;
typedef HANDLE WSAEVENT;

or even #define...



------------------------------------------
mailto:Mike_McCormack at start.com.au
ph +82 16 430 0425

__________________________________________________________________
Get your free Australian email account at http://www.Looksmart.com.au





More information about the wine-devel mailing list