Loading CHANGES +5 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,11 @@ Changelog Daniel S (24 April 2007) - Robert Iakobashvili made the 'master_buffer' get allocated first once it is can/will be used as it then makes the common cases save 16KB of data for each easy handle that isn't used for pipelining. Dan F (23 April 2007) - Added <postcheck> support to the test harness. Loading RELEASE-NOTES +4 −3 Original line number Diff line number Diff line Loading @@ -11,8 +11,9 @@ Curl and libcurl 7.16.3 This release includes the following changes: o Added curl_multi_socket_action() o Deprecated curl_multi_socket() o added curl_multi_socket_action() o deprecated curl_multi_socket() o uses less memory in non-pipelined use cases This release includes the following bugfixes: Loading @@ -34,7 +35,7 @@ This release includes the following known bugs: Other curl-related news: o PycURL 7.16.2 was released: http://pycurl.sf.net/ o PycURL 7.16.2.1 was released: http://pycurl.sf.net/ o TclCurl 7.16.2 was released: http://personal1.iddeo.es/andresgarci/tclcurl/english/ Loading lib/sendf.c +1 −1 Original line number Diff line number Diff line Loading @@ -495,7 +495,7 @@ int Curl_read(struct connectdata *conn, /* connection data */ } /* If we come here, it means that there is no data to read from the buffer, * so we read from the socket */ bytesfromsocket = MIN(sizerequested, sizeof(conn->master_buffer)); bytesfromsocket = MIN(sizerequested, BUFSIZE * sizeof (char)); buffertofill = conn->master_buffer; } else { Loading lib/transfer.c +7 −2 Original line number Diff line number Diff line Loading @@ -289,8 +289,13 @@ static void read_rewind(struct connectdata *conn, size_t show; show = MIN(conn->buf_len - conn->read_pos, sizeof(buf)-1); if (conn->master_buffer) { memcpy(buf, conn->master_buffer + conn->read_pos, show); buf[show] = '\0'; } else { buf[0] = '\0'; } DEBUGF(infof(conn->data, "Buffer after stream rewind (read_pos = %d): [%s]", Loading lib/url.c +11 −1 Original line number Diff line number Diff line Loading @@ -1789,6 +1789,7 @@ static void conn_free(struct connectdata *conn) Curl_safefree(conn->trailer); Curl_safefree(conn->host.rawalloc); /* host name buffer */ Curl_safefree(conn->proxy.rawalloc); /* proxy name buffer */ Curl_safefree(conn->master_buffer); Curl_llist_destroy(conn->send_pipe, NULL); Curl_llist_destroy(conn->recv_pipe, NULL); Loading Loading @@ -2825,7 +2826,7 @@ static CURLcode CreateConnection(struct SessionHandle *data, to not have to modify everything at once, we allocate a temporary connection data struct and fill in for comparison purposes. */ conn = (struct connectdata *)calloc(sizeof(struct connectdata), 1); conn = (struct connectdata *)calloc(1, sizeof(struct connectdata)); if(!conn) { *in_connect = NULL; /* clear the pointer */ return CURLE_OUT_OF_MEMORY; Loading @@ -2835,6 +2836,14 @@ static CURLcode CreateConnection(struct SessionHandle *data, any failure */ *in_connect = conn; if (data->multi && Curl_multi_canPipeline(data->multi) && !conn->master_buffer) { /* Allocate master_buffer to be used for pipelining */ conn->master_buffer = calloc(BUFSIZE, sizeof (char)); if (!conn->master_buffer) return CURLE_OUT_OF_MEMORY; } /* and we setup a few fields in case we end up actually using this struct */ conn->data = data; /* Setup the association between this connection Loading Loading @@ -3803,6 +3812,7 @@ else { Curl_safefree(old_conn->proxypasswd); Curl_llist_destroy(old_conn->send_pipe, NULL); Curl_llist_destroy(old_conn->recv_pipe, NULL); Curl_safefree(old_conn->master_buffer); free(old_conn); /* we don't need this anymore */ Loading Loading
CHANGES +5 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,11 @@ Changelog Daniel S (24 April 2007) - Robert Iakobashvili made the 'master_buffer' get allocated first once it is can/will be used as it then makes the common cases save 16KB of data for each easy handle that isn't used for pipelining. Dan F (23 April 2007) - Added <postcheck> support to the test harness. Loading
RELEASE-NOTES +4 −3 Original line number Diff line number Diff line Loading @@ -11,8 +11,9 @@ Curl and libcurl 7.16.3 This release includes the following changes: o Added curl_multi_socket_action() o Deprecated curl_multi_socket() o added curl_multi_socket_action() o deprecated curl_multi_socket() o uses less memory in non-pipelined use cases This release includes the following bugfixes: Loading @@ -34,7 +35,7 @@ This release includes the following known bugs: Other curl-related news: o PycURL 7.16.2 was released: http://pycurl.sf.net/ o PycURL 7.16.2.1 was released: http://pycurl.sf.net/ o TclCurl 7.16.2 was released: http://personal1.iddeo.es/andresgarci/tclcurl/english/ Loading
lib/sendf.c +1 −1 Original line number Diff line number Diff line Loading @@ -495,7 +495,7 @@ int Curl_read(struct connectdata *conn, /* connection data */ } /* If we come here, it means that there is no data to read from the buffer, * so we read from the socket */ bytesfromsocket = MIN(sizerequested, sizeof(conn->master_buffer)); bytesfromsocket = MIN(sizerequested, BUFSIZE * sizeof (char)); buffertofill = conn->master_buffer; } else { Loading
lib/transfer.c +7 −2 Original line number Diff line number Diff line Loading @@ -289,8 +289,13 @@ static void read_rewind(struct connectdata *conn, size_t show; show = MIN(conn->buf_len - conn->read_pos, sizeof(buf)-1); if (conn->master_buffer) { memcpy(buf, conn->master_buffer + conn->read_pos, show); buf[show] = '\0'; } else { buf[0] = '\0'; } DEBUGF(infof(conn->data, "Buffer after stream rewind (read_pos = %d): [%s]", Loading
lib/url.c +11 −1 Original line number Diff line number Diff line Loading @@ -1789,6 +1789,7 @@ static void conn_free(struct connectdata *conn) Curl_safefree(conn->trailer); Curl_safefree(conn->host.rawalloc); /* host name buffer */ Curl_safefree(conn->proxy.rawalloc); /* proxy name buffer */ Curl_safefree(conn->master_buffer); Curl_llist_destroy(conn->send_pipe, NULL); Curl_llist_destroy(conn->recv_pipe, NULL); Loading Loading @@ -2825,7 +2826,7 @@ static CURLcode CreateConnection(struct SessionHandle *data, to not have to modify everything at once, we allocate a temporary connection data struct and fill in for comparison purposes. */ conn = (struct connectdata *)calloc(sizeof(struct connectdata), 1); conn = (struct connectdata *)calloc(1, sizeof(struct connectdata)); if(!conn) { *in_connect = NULL; /* clear the pointer */ return CURLE_OUT_OF_MEMORY; Loading @@ -2835,6 +2836,14 @@ static CURLcode CreateConnection(struct SessionHandle *data, any failure */ *in_connect = conn; if (data->multi && Curl_multi_canPipeline(data->multi) && !conn->master_buffer) { /* Allocate master_buffer to be used for pipelining */ conn->master_buffer = calloc(BUFSIZE, sizeof (char)); if (!conn->master_buffer) return CURLE_OUT_OF_MEMORY; } /* and we setup a few fields in case we end up actually using this struct */ conn->data = data; /* Setup the association between this connection Loading Loading @@ -3803,6 +3812,7 @@ else { Curl_safefree(old_conn->proxypasswd); Curl_llist_destroy(old_conn->send_pipe, NULL); Curl_llist_destroy(old_conn->recv_pipe, NULL); Curl_safefree(old_conn->master_buffer); free(old_conn); /* we don't need this anymore */ Loading