WSAPoll() was fixed in Windows 10 2004 according to MSDN:

https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsapoll

However, there really isn't much of a reason to use WSAPoll() over select() in 
Windows...with one caveat.

In Windows, select() functions more like poll() than select().  fd_set in 
Windows is an array of handles rather than an array of bits.  Although there is 
the FD_SETSIZE macro, the fd_set structure is actually considered to be 
variable-sized by the OS.

If you create a structure in memory that looks like this:

struct MyFdSet
{
    u_int fd_count;
    SOCKET fd_array[];
};

you can use any number of sockets, regardless of the value you #define 
FD_SETSIZE to.  This makes Windows select() very much like poll(), with the 
biggest differences in the way that the socket status is reported: 
read/write/exception instead of all those POLL* flags.

So rather than using WSAPoll(), I'd say we'd be better off using a poll()-like 
design that calls select().



From: curl-library <curl-library-boun...@lists.haxx.se> On Behalf Of Howard Chu 
via curl-library
Sent: Wednesday, July 6, 2022 3:04 AM
To: libcurl development <curl-library@lists.haxx.se>
Cc: Howard Chu <h...@highlandsun.com>
Subject: Re: WSAPoll() anyone?

Gisle Vanem via curl-library wrote: > Daniel Stenberg wrote: > >> Is there a 
compelling reason to switch over to WSAPoll()? >> >> It took a long time before 
we found that poll issue the last time. If there is an edge


Gisle Vanem via curl-library wrote:

> Daniel Stenberg wrote:

>

>> Is there a compelling reason to switch over to WSAPoll()?

>>

>> It took a long time before we found that poll issue the last time. If there 
>> is an edge case still where they aren't compatible, I can imagine it won't 
>> be easy

>> to reproduce but might introduce strange hard-to-debug side effects down the 
>> line.

>

> I would just like to hear if other Windows users here have

> an opinion or what experience they have with 'WSAPoll()'.

> It can't b that bad still?



That doesn't sound like a reason to make a change. If it ain't broke don't fix 
it.

>

>> Since we don't know in which Windows version the function was fixed, we 
>> might still have curl users with broken WSAPoll implementations - even if 
>> more recent

>> versions work better.

>

> That would be a problem, yes.

>





--

  -- Howard Chu

  CTO, Symas Corp.           
https://urldefense.com/v3/__http://www.symas.com__;!!Ci6f514n9QsL8ck!gHtVvEeyBO_hMVoDYAGHeX1NyuwDPwZmiHKzH4CSVUqgVquuGJn0Idvd9tlArOukYkNDpR0u1fhVjI8BYkqR9iRLAAq0$<https://urldefense.com/v3/__http:/www.symas.com__;!!Ci6f514n9QsL8ck!gHtVvEeyBO_hMVoDYAGHeX1NyuwDPwZmiHKzH4CSVUqgVquuGJn0Idvd9tlArOukYkNDpR0u1fhVjI8BYkqR9iRLAAq0$>

  Director, Highland Sun     
https://urldefense.com/v3/__http://highlandsun.com/hyc/__;!!Ci6f514n9QsL8ck!gHtVvEeyBO_hMVoDYAGHeX1NyuwDPwZmiHKzH4CSVUqgVquuGJn0Idvd9tlArOukYkNDpR0u1fhVjI8BYkqR9rjYRdg3$<https://urldefense.com/v3/__http:/highlandsun.com/hyc/__;!!Ci6f514n9QsL8ck!gHtVvEeyBO_hMVoDYAGHeX1NyuwDPwZmiHKzH4CSVUqgVquuGJn0Idvd9tlArOukYkNDpR0u1fhVjI8BYkqR9rjYRdg3$>

  Chief Architect, OpenLDAP  
https://urldefense.com/v3/__http://www.openldap.org/project/__;!!Ci6f514n9QsL8ck!gHtVvEeyBO_hMVoDYAGHeX1NyuwDPwZmiHKzH4CSVUqgVquuGJn0Idvd9tlArOukYkNDpR0u1fhVjI8BYkqR9gCJ8Qqv$<https://urldefense.com/v3/__http:/www.openldap.org/project/__;!!Ci6f514n9QsL8ck!gHtVvEeyBO_hMVoDYAGHeX1NyuwDPwZmiHKzH4CSVUqgVquuGJn0Idvd9tlArOukYkNDpR0u1fhVjI8BYkqR9gCJ8Qqv$>

--

Unsubscribe: 
https://urldefense.com/v3/__https://lists.haxx.se/listinfo/curl-library__;!!Ci6f514n9QsL8ck!gHtVvEeyBO_hMVoDYAGHeX1NyuwDPwZmiHKzH4CSVUqgVquuGJn0Idvd9tlArOukYkNDpR0u1fhVjI8BYkqR9llL0O4A$<https://urldefense.com/v3/__https:/lists.haxx.se/listinfo/curl-library__;!!Ci6f514n9QsL8ck!gHtVvEeyBO_hMVoDYAGHeX1NyuwDPwZmiHKzH4CSVUqgVquuGJn0Idvd9tlArOukYkNDpR0u1fhVjI8BYkqR9llL0O4A$>

Etiquette:   
https://urldefense.com/v3/__https://curl.se/mail/etiquette.html__;!!Ci6f514n9QsL8ck!gHtVvEeyBO_hMVoDYAGHeX1NyuwDPwZmiHKzH4CSVUqgVquuGJn0Idvd9tlArOukYkNDpR0u1fhVjI8BYkqR9v2RbSOi$<https://urldefense.com/v3/__https:/curl.se/mail/etiquette.html__;!!Ci6f514n9QsL8ck!gHtVvEeyBO_hMVoDYAGHeX1NyuwDPwZmiHKzH4CSVUqgVquuGJn0Idvd9tlArOukYkNDpR0u1fhVjI8BYkqR9v2RbSOi$>
-- 
Unsubscribe: https://lists.haxx.se/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html

Reply via email to