[
https://issues.apache.org/jira/browse/AXIS2C-1605?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Lazarski resolved AXIS2C-1605.
-------------------------------------
Fix Version/s: 2.0.0
(was: 1.7.0)
Resolution: Fixed
Before
SSL_shutdown(ssl); /* Only sends close_notify */
SSL_free(ssl);
After
shutdown_ret = SSL_shutdown(ssl);
if (shutdown_ret == 0)
{
/* Shutdown not yet complete - call again for peer's close_notify */
SSL_shutdown(ssl);
}
SSL_free(ssl);
How This Fixes CLOSE_WAIT
┌──────┬────────────────────────────┬──────────────────────────────┐
│ Step │ Before (Broken) │ After (Fixed) │
├──────┼────────────────────────────┼──────────────────────────────┤
│ 1 │ Send close_notify │ Send close_notify │
├──────┼────────────────────────────┼──────────────────────────────┤
│ 2 │ Free SSL immediately │ Wait for peer's close_notify │
├──────┼────────────────────────────┼──────────────────────────────┤
│ 3 │ Socket stuck in CLOSE_WAIT │ Clean connection close │
├──────┼────────────────────────────┼──────────────────────────────┤
│ 4 │ - │ Free SSL │
└──────┴────────────────────────────┴──────────────────────────────┘
> sockets are being left in CLOSE_WAIT state by client when using SSL in
> built-in http transport
> -----------------------------------------------------------------------------------------------
>
> Key: AXIS2C-1605
> URL: https://issues.apache.org/jira/browse/AXIS2C-1605
> Project: Axis2-C
> Issue Type: Bug
> Components: transport/http
> Affects Versions: 1.7.0
> Environment: slackware linux, 2.6.39 kernel
> Reporter: Piotr Isajew
> Priority: Minor
> Labels: patch
> Fix For: 2.0.0
>
> Attachments: axis.patch
>
>
> When using Axis2/C client with internal http transport via SSL and HTTP/1.0
> protocol, sockets are not being closed, and are left in CLOSE_WAIT state.
> After some time that leads to reaching open files limit by client process and
> failure to invoke web service anymore.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]