Commit 07416b61 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

- Using the libssh2 0.19 function libssh2_session_block_directions(), libcurl

  now has an improved ability to do right when the multi interface (both
  "regular" and multi_socket) is used for SCP and SFTP transfers. This should
  result in (much) less busy-loop situations and thus less CPU usage with no
  speed loss.
parent 000a13e2
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -6,6 +6,13 @@

                                  Changelog

Daniel Stenberg (19 Dec 2008)
- Using the libssh2 0.19 function libssh2_session_block_directions(), libcurl
  now has an improved ability to do right when the multi interface (both
  "regular" and multi_socket) is used for SCP and SFTP transfers. This should
  result in (much) less busy-loop situations and thus less CPU usage with no
  speed loss.

Daniel Stenberg (17 Dec 2008)
- SCP and SFTP with the multi interface had the same flaw: the 'DONE'
  operation didn't complete properly if the EAGAIN equivalent was returned but
+3 −1
Original line number Diff line number Diff line
@@ -31,7 +31,9 @@ This release includes the following bugfixes:
 o curl_easy_duphandle() doesn't try to duplicate the connection cache pointer
 o build failure on OS/400 when enabling IPv6
 o better detection of SFTP failures
 o improved connection re-use for subsequent SCP and SFTP trnasfers 
 o improved connection re-use for subsequent SCP and SFTP transfers
 o multi interface does less busy-loops for SCP and SFTP transfers with libssh2
   0.19 or later

This release includes the following known bugs:

+1 −0
Original line number Diff line number Diff line
@@ -106,6 +106,7 @@ const struct Curl_handler Curl_handler_dict = {
  ZERO_NULL,                            /* doing */
  ZERO_NULL,                            /* proto_getsock */
  ZERO_NULL,                            /* doing_getsock */
  ZERO_NULL,                            /* perform_getsock */
  ZERO_NULL,                            /* disconnect */
  PORT_DICT,                            /* defport */
  PROT_DICT                             /* protocol */
+1 −0
Original line number Diff line number Diff line
@@ -119,6 +119,7 @@ const struct Curl_handler Curl_handler_file = {
  ZERO_NULL,                            /* doing */
  ZERO_NULL,                            /* proto_getsock */
  ZERO_NULL,                            /* doing_getsock */
  ZERO_NULL,                            /* perform_getsock */
  ZERO_NULL,                            /* disconnect */
  0,                                    /* defport */
  PROT_FILE                             /* protocol */
+8 −4
Original line number Diff line number Diff line
@@ -171,6 +171,7 @@ const struct Curl_handler Curl_handler_ftp = {
  ftp_doing,                       /* doing */
  ftp_getsock,                     /* proto_getsock */
  ftp_getsock,                     /* doing_getsock */
  ZERO_NULL,                       /* perform_getsock */
  ftp_disconnect,                  /* disconnect */
  PORT_FTP,                        /* defport */
  PROT_FTP                         /* protocol */
@@ -193,6 +194,7 @@ const struct Curl_handler Curl_handler_ftps = {
  ftp_doing,                       /* doing */
  ftp_getsock,                     /* proto_getsock */
  ftp_getsock,                     /* doing_getsock */
  ZERO_NULL,                       /* perform_getsock */
  ftp_disconnect,                  /* disconnect */
  PORT_FTPS,                       /* defport */
  PROT_FTP | PROT_FTPS | PROT_SSL  /* protocol */
@@ -215,6 +217,7 @@ const struct Curl_handler Curl_handler_ftp_proxy = {
  ZERO_NULL,                            /* doing */
  ZERO_NULL,                            /* proto_getsock */
  ZERO_NULL,                            /* doing_getsock */
  ZERO_NULL,                            /* perform_getsock */
  ZERO_NULL,                            /* disconnect */
  PORT_FTP,                             /* defport */
  PROT_HTTP                             /* protocol */
@@ -237,6 +240,7 @@ const struct Curl_handler Curl_handler_ftps_proxy = {
  ZERO_NULL,                            /* doing */
  ZERO_NULL,                            /* proto_getsock */
  ZERO_NULL,                            /* doing_getsock */
  ZERO_NULL,                            /* perform_getsock */
  ZERO_NULL,                            /* disconnect */
  PORT_FTPS,                            /* defport */
  PROT_HTTP                             /* protocol */
Loading