[ https://issues.apache.org/jira/browse/AXIS2C-830?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Mitchell updated AXIS2C-830: --------------------------------- Attachment: libcurl_diff The attached diff file contains the changes to axis2_http_transport_sender.c, axis2_http_sender.c & .h, and axis2_libcurl.c & .h to maintain the curl handle in the axis2_libcurl structure and to make the axis2_libcurl structure be owned by the axis2_http_transport_sender structure. This allows the curl handle to be persistent for the life of the client service. While working on this change, I came across a memory leak in the axis2_libcurl_write_memory_callback(). When it expands the size of the buffer by reallocating it, the old instance of the buffer is not freed. This oversight is remedied in the attached source changes. I have verified this change by running multiple, e.g., 4, concurrent client threads each performing SOAP exchanges to a set of SOAP services. > libcurl interface not multithreaded > ----------------------------------- > > Key: AXIS2C-830 > URL: https://issues.apache.org/jira/browse/AXIS2C-830 > Project: Axis2-C > Issue Type: Bug > Components: transport/http > Affects Versions: 1.1.0 > Environment: Windows XP, Visual Studio 2005, build uses libcurl and > guththila > Reporter: Bill Mitchell > Attachments: libcurl_diff > > > Axis2C support of libcurl is not multithreaded, i.e., it cannot be invoked by > a multithreaded client application. This despite the fact that libcurl is > multithreaded and Axis2C is multithreaded. The crux of the issue lies in the > static global definition of the curl handler in axis2_libcurl.c. This > prevents multiple client threads from obtaining multiple connections to issue > concurrent SOAP operations. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]