[PATCH 1/2] msvcp120: Added _Call_once implementation
Piotr Caban
piotr.caban at gmail.com
Thu May 21 03:13:00 CDT 2015
On 05/21/15 06:42, Nikolay Sivov wrote:
> On 20.05.2015 23:18, Piotr Caban wrote:
>> ---
>> dlls/msvcp110/msvcp110.spec | 4 +--
>> dlls/msvcp120/msvcp120.spec | 4 +--
>> dlls/msvcp120/tests/msvcp120.c | 55
>> +++++++++++++++++++++++++++++++++++++
>> dlls/msvcp120_app/msvcp120_app.spec | 4 +--
>> dlls/msvcp90/misc.c | 35 +++++++++++++++++++++++
>> 5 files changed, 96 insertions(+), 6 deletions(-)
>>
>>
>
> You sure it's not a wrapper around InitOnce* calls from kernel32?
Yes, there are few reasons why it can't be used here. The problem is
that there's no enough space to hold INIT_ONCE structure in first
argument (that is DWORD sized). Also the test checks if the parameter is
changed while running the "execute once" function and it's not touched
until the init function returns. I guess that MicroSoft didn't use the
function because of compatibility with older operating systems.
Hopefully they will optimize the function in future versions of msvcp.
More information about the wine-devel
mailing list