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.
Also please note that depending on how many objects are used by an application, a separate CS for each might significantly increase memory usage.
- 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.
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.