On Wed, 2017-03-08 at 17:13 +0100, Sebastian Lackner wrote:
On 08.03.2017 11:25, Hans Leidekker wrote:
+ } }
msg->is_addressed = TRUE;
Not sure if it matters, but previously this was skipped in case of a failure.
Thanks, I'll fix that.
Also please note that depending on how many objects are used by an application, a separate CS for each might significantly increase memory usage.
It's 1 or 2 of each object type per SOAP call.
- return S_OK; + + LeaveCriticalSection( &msg->cs ); + return hr; [...] - msg->init = init; - msg->state = WS_MESSAGE_STATE_INITIALIZED; - return write_envelope( msg ); + if ((hr = write_envelope( msg )) == S_OK) + { + msg->init = init; + msg->state = WS_MESSAGE_STATE_INITIALIZED; + }
Here, the new code also does something else than the old one. Previously the msg fields were changed unconditionally.
That's actually an improvement.