[curl/curl] bcca17: Revert "Revert 'multi: implement wait using winsoc...
Marc Hörsken <[email protected]>
| Newsgroups | gmane.comp.web.curl.cvs |
|---|---|
| Message-ID | <curl/curl/push/refs/heads/master/[email protected]> |
Branch: refs/heads/master
Home: https://github.com/curl/curl
Commit: bcca174cfa727ffa0442d059609e60591080599a
https://github.com/curl/curl/commit/bcca174cfa727ffa0442d059609e60591080599a
Author: Marc Hoersken <[email protected]>
Date: 2021-04-21 (Wed, 21 Apr 2021)
Changed paths:
M lib/multi.c
M lib/multihandle.h
Log Message:
-----------
Revert "Revert 'multi: implement wait using winsock events'"
This reverts commit 2260e0ebe6d45529495231b3e37a0c58fb92a6a2,
also restoring previous follow up changes which were reverted.
Authored-by: rcombs on github
Authored-by: Marc Hörsken
Reviewed-by: Jay Satiro
Reviewed-by: Marcel Raad
Restores #5634
Reverts #6281
Part of #6245
Commit: e92998a3121ac0752d86fd90d9d6053af760048e
https://github.com/curl/curl/commit/e92998a3121ac0752d86fd90d9d6053af760048e
Author: Marc Hoersken <[email protected]>
Date: 2021-04-21 (Wed, 21 Apr 2021)
Changed paths:
M lib/multi.c
Log Message:
-----------
multi: reduce Win32 API calls to improve performance
1. Consolidate pre-checks into a single Curl_poll call:
This is an attempt to restructure the code in Curl_multi_wait
in such a way that less syscalls are made by removing individual
calls to Curl_socket_check via SOCKET_READABLE/SOCKET_WRITABLE.
2. Avoid resetting the WinSock event multiple times:
We finally call WSAResetEvent anyway, so specifying it as
an optional parameter to WSAEnumNetworkEvents is redundant.
3. Wakeup directly in case no sockets are being monitoring:
Fix the WinSock based implementation to skip extra waiting by
not sleeping in case no sockets are to be waited on and just
the WinSock event is being monitored for wakeup functionality.
Assisted-by: Tommy Odom
Reviewed-by: Jay Satiro
Reviewed-by: Marcel Raad
Bug: #6146
Closes #6245
Commit: b36442b24305f3cda7c13cc64b46838995a4985b
https://github.com/curl/curl/commit/b36442b24305f3cda7c13cc64b46838995a4985b
Author: Marc Hoersken <[email protected]>
Date: 2021-04-21 (Wed, 21 Apr 2021)
Changed paths:
M lib/multi.c
Log Message:
-----------
multi: fix slow write/upload performance on Windows
Reset FD_WRITE by sending zero bytes which is permissible
and will be treated by implementations as successful send.
Without this we won't be notified in case a socket is still
writable if we already received such a notification and did
not send any data afterwards on the socket. This would lead
to waiting forever on a writable socket being writable again.
Assisted-by: Tommy Odom
Reviewed-by: Jay Satiro
Reviewed-by: Marcel Raad
Tested-by: tmkk on github
Bug: #6146
Closes #6245
Commit: 2df64390b3031f7219b5dc5d21f9e64aea5a7c13
https://github.com/curl/curl/commit/2df64390b3031f7219b5dc5d21f9e64aea5a7c13
Author: Marc Hoersken <[email protected]>
Date: 2021-04-21 (Wed, 21 Apr 2021)
Changed paths:
M tests/libtest/lib1564.c
Log Message:
-----------
lib1564.c: enable last wakeup test part on Windows
Suggested-by: Gergely Nagy
Reviewed-by: Jay Satiro
Reviewed-by: Marcel Raad
Closes #6245
Compare: https://github.com/curl/curl/compare/3057c6cd736d...2df64390b303
_______________________________________________
curl-commits mailing list
[email protected]
https://cool.haxx.se/cgi-bin/mailman/listinfo/curl-commits