msvcr100: Add reader_writer_lock::scoped_lock implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Piotr Caban 2017-05-09 16:34:49 +02:00 committed by Alexandre Julliard
parent feb5aa4370
commit 05a6e52613
6 changed files with 100 additions and 52 deletions

View File

@ -148,10 +148,10 @@
@ stub -arch=win64 ??0scheduler_worker_creation_error@Concurrency@@QEAA@PEBDJ@Z
@ thiscall -arch=i386 ??0scoped_lock@critical_section@Concurrency@@QAE@AAV12@@Z(ptr ptr) msvcr120.??0scoped_lock@critical_section@Concurrency@@QAE@AAV12@@Z
@ cdecl -arch=win64 ??0scoped_lock@critical_section@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) msvcr120.??0scoped_lock@critical_section@Concurrency@@QEAA@AEAV12@@Z
@ stub -arch=win32 ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ stub -arch=win64 ??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ stub -arch=i386 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ stub -arch=win64 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ thiscall -arch=i386 ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z(ptr ptr) msvcr120.??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ cdecl -arch=win64 ??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) msvcr120.??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ thiscall -arch=i386 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z(ptr ptr) msvcr120.??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ cdecl -arch=win64 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) msvcr120.??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ stub -arch=i386 ??0unsupported_os@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0unsupported_os@Concurrency@@QEAA@PEBD@Z
@ stub -arch=i386 ??0unsupported_os@Concurrency@@QAE@XZ
@ -194,10 +194,10 @@
@ cdecl -arch=win64 ??1reader_writer_lock@Concurrency@@QEAA@XZ(ptr) msvcr120.??1reader_writer_lock@Concurrency@@QEAA@XZ
@ thiscall -arch=i386 ??1scoped_lock@critical_section@Concurrency@@QAE@XZ(ptr) msvcr120.??1scoped_lock@critical_section@Concurrency@@QAE@XZ
@ cdecl -arch=win64 ??1scoped_lock@critical_section@Concurrency@@QEAA@XZ(ptr) msvcr120.??1scoped_lock@critical_section@Concurrency@@QEAA@XZ
@ stub -arch=i386 ??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ
@ stub -arch=win64 ??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ
@ stub -arch=i386 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ
@ stub -arch=win64 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ
@ thiscall -arch=i386 ??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ(ptr) msvcr120.??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ
@ cdecl -arch=win64 ??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ(ptr) msvcr120.??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ
@ thiscall -arch=i386 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ(ptr) msvcr120.??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ
@ cdecl -arch=win64 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ(ptr) msvcr120.??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ
@ stub -arch=i386 ??4?$_SpinWait@$00@details@Concurrency@@QAEAAV012@$$QAV012@@Z
@ stub -arch=win64 ??4?$_SpinWait@$00@details@Concurrency@@QEAAAEAV012@$$QEAV012@@Z
@ stub -arch=i386 ??4?$_SpinWait@$00@details@Concurrency@@QAEAAV012@ABV012@@Z

View File

@ -146,10 +146,10 @@
@ cdecl -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z(ptr str long) scheduler_resource_allocation_error_ctor_name
@ thiscall -arch=win32 ??0scoped_lock@critical_section@Concurrency@@QAE@AAV12@@Z(ptr ptr) critical_section_scoped_lock_ctor
@ cdecl -arch=win64 ??0scoped_lock@critical_section@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) critical_section_scoped_lock_ctor
@ stub -arch=win32 ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ stub -arch=win64 ??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ stub -arch=win32 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ stub -arch=win64 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ thiscall -arch=win32 ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_ctor
@ cdecl -arch=win64 ??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_ctor
@ thiscall -arch=win32 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_read_ctor
@ cdecl -arch=win64 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_read_ctor
@ stub -arch=win32 ??0task_canceled@details@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0task_canceled@details@Concurrency@@QEAA@PEBD@Z
@ stub -arch=win32 ??0task_canceled@details@Concurrency@@QAE@XZ
@ -190,10 +190,10 @@
@ cdecl -arch=win64 ??1reader_writer_lock@Concurrency@@QEAA@XZ(ptr) reader_writer_lock_dtor
@ thiscall -arch=win32 ??1scoped_lock@critical_section@Concurrency@@QAE@XZ(ptr) critical_section_scoped_lock_dtor
@ cdecl -arch=win64 ??1scoped_lock@critical_section@Concurrency@@QEAA@XZ(ptr) critical_section_scoped_lock_dtor
@ stub -arch=win32 ??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ
@ stub -arch=win64 ??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ
@ stub -arch=win32 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ
@ stub -arch=win64 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ
@ thiscall -arch=win32 ??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ(ptr) reader_writer_lock_scoped_lock_dtor
@ cdecl -arch=win64 ??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ(ptr) reader_writer_lock_scoped_lock_dtor
@ thiscall -arch=win32 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ(ptr) reader_writer_lock_scoped_lock_read_dtor
@ cdecl -arch=win64 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ(ptr) reader_writer_lock_scoped_lock_read_dtor
@ cdecl -arch=arm ??1type_info@@UAA@XZ(ptr) MSVCRT_type_info_dtor
@ thiscall -arch=i386 ??1type_info@@UAE@XZ(ptr) MSVCRT_type_info_dtor
@ cdecl -arch=win64 ??1type_info@@UEAA@XZ(ptr) MSVCRT_type_info_dtor

View File

@ -251,12 +251,12 @@
@ cdecl -arch=arm ??0scoped_lock@critical_section@Concurrency@@QAA@AAV12@@Z(ptr ptr) critical_section_scoped_lock_ctor
@ thiscall -arch=i386 ??0scoped_lock@critical_section@Concurrency@@QAE@AAV12@@Z(ptr ptr) critical_section_scoped_lock_ctor
@ cdecl -arch=win64 ??0scoped_lock@critical_section@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) critical_section_scoped_lock_ctor
@ stub -arch=arm ??0scoped_lock@reader_writer_lock@Concurrency@@QAA@AAV12@@Z
@ stub -arch=i386 ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ stub -arch=win64 ??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ stub -arch=arm ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAA@AAV12@@Z
@ stub -arch=i386 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ stub -arch=win64 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ cdecl -arch=arm ??0scoped_lock@reader_writer_lock@Concurrency@@QAA@AAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_ctor
@ thiscall -arch=i386 ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_ctor
@ cdecl -arch=win64 ??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_ctor
@ cdecl -arch=arm ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAA@AAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_read_ctor
@ thiscall -arch=i386 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_read_ctor
@ cdecl -arch=win64 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_read_ctor
@ stub -arch=arm ??0task_canceled@Concurrency@@QAA@PBD@Z
@ stub -arch=i386 ??0task_canceled@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0task_canceled@Concurrency@@QEAA@PEBD@Z
@ -326,12 +326,12 @@
@ cdecl -arch=arm ??1scoped_lock@critical_section@Concurrency@@QAA@XZ(ptr) critical_section_scoped_lock_dtor
@ thiscall -arch=i386 ??1scoped_lock@critical_section@Concurrency@@QAE@XZ(ptr) critical_section_scoped_lock_dtor
@ cdecl -arch=win64 ??1scoped_lock@critical_section@Concurrency@@QEAA@XZ(ptr) critical_section_scoped_lock_dtor
@ stub -arch=arm ??1scoped_lock@reader_writer_lock@Concurrency@@QAA@XZ
@ stub -arch=i386 ??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ
@ stub -arch=win64 ??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ
@ stub -arch=arm ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAA@XZ
@ stub -arch=i386 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ
@ stub -arch=win64 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ
@ cdecl -arch=arm ??1scoped_lock@reader_writer_lock@Concurrency@@QAA@XZ(ptr) reader_writer_lock_scoped_lock_dtor
@ thiscall -arch=i386 ??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ(ptr) reader_writer_lock_scoped_lock_dtor
@ cdecl -arch=win64 ??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ(ptr) reader_writer_lock_scoped_lock_dtor
@ cdecl -arch=arm ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAA@XZ(ptr) reader_writer_lock_scoped_lock_read_dtor
@ thiscall -arch=i386 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ(ptr) reader_writer_lock_scoped_lock_read_dtor
@ cdecl -arch=win64 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ(ptr) reader_writer_lock_scoped_lock_read_dtor
@ cdecl -arch=arm ??1type_info@@UAA@XZ(ptr) MSVCRT_type_info_dtor
@ thiscall -arch=i386 ??1type_info@@UAE@XZ(ptr) MSVCRT_type_info_dtor
@ cdecl -arch=win64 ??1type_info@@UEAA@XZ(ptr) MSVCRT_type_info_dtor

View File

@ -248,12 +248,12 @@
@ cdecl -arch=arm ??0scoped_lock@critical_section@Concurrency@@QAA@AAV12@@Z(ptr ptr) critical_section_scoped_lock_ctor
@ thiscall -arch=i386 ??0scoped_lock@critical_section@Concurrency@@QAE@AAV12@@Z(ptr ptr) critical_section_scoped_lock_ctor
@ cdecl -arch=win64 ??0scoped_lock@critical_section@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) critical_section_scoped_lock_ctor
@ stub -arch=arm ??0scoped_lock@reader_writer_lock@Concurrency@@QAA@AAV12@@Z
@ stub -arch=i386 ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ stub -arch=win64 ??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ stub -arch=arm ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAA@AAV12@@Z
@ stub -arch=i386 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ stub -arch=win64 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ cdecl -arch=arm ??0scoped_lock@reader_writer_lock@Concurrency@@QAA@AAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_ctor
@ thiscall -arch=i386 ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_ctor
@ cdecl -arch=win64 ??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_ctor
@ cdecl -arch=arm ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAA@AAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_read_ctor
@ thiscall -arch=i386 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_read_ctor
@ cdecl -arch=win64 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) reader_writer_lock_scoped_lock_read_ctor
@ stub -arch=arm ??0task_canceled@Concurrency@@QAA@PBD@Z
@ stub -arch=i386 ??0task_canceled@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0task_canceled@Concurrency@@QEAA@PEBD@Z
@ -322,12 +322,12 @@
@ cdecl -arch=arm ??1scoped_lock@critical_section@Concurrency@@QAA@XZ(ptr) critical_section_scoped_lock_dtor
@ thiscall -arch=i386 ??1scoped_lock@critical_section@Concurrency@@QAE@XZ(ptr) critical_section_scoped_lock_dtor
@ cdecl -arch=win64 ??1scoped_lock@critical_section@Concurrency@@QEAA@XZ(ptr) critical_section_scoped_lock_dtor
@ stub -arch=arm ??1scoped_lock@reader_writer_lock@Concurrency@@QAA@XZ
@ stub -arch=i386 ??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ
@ stub -arch=win64 ??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ
@ stub -arch=arm ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAA@XZ
@ stub -arch=i386 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ
@ stub -arch=win64 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ
@ cdecl -arch=arm ??1scoped_lock@reader_writer_lock@Concurrency@@QAA@XZ(ptr) reader_writer_lock_scoped_lock_dtor
@ thiscall -arch=i386 ??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ(ptr) reader_writer_lock_scoped_lock_dtor
@ cdecl -arch=win64 ??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ(ptr) reader_writer_lock_scoped_lock_dtor
@ cdecl -arch=arm ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAA@XZ(ptr) reader_writer_lock_scoped_lock_read_dtor
@ thiscall -arch=i386 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ(ptr) reader_writer_lock_scoped_lock_read_dtor
@ cdecl -arch=win64 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ(ptr) reader_writer_lock_scoped_lock_read_dtor
@ cdecl -arch=arm ??1type_info@@UAA@XZ(ptr) MSVCRT_type_info_dtor
@ thiscall -arch=i386 ??1type_info@@UAE@XZ(ptr) MSVCRT_type_info_dtor
@ cdecl -arch=win64 ??1type_info@@UEAA@XZ(ptr) MSVCRT_type_info_dtor

View File

@ -246,12 +246,12 @@
@ cdecl -arch=arm ??0scoped_lock@critical_section@Concurrency@@QAA@AAV12@@Z(ptr ptr) msvcr120.??0scoped_lock@critical_section@Concurrency@@QAA@AAV12@@Z
@ thiscall -arch=i386 ??0scoped_lock@critical_section@Concurrency@@QAE@AAV12@@Z(ptr ptr) msvcr120.??0scoped_lock@critical_section@Concurrency@@QAE@AAV12@@Z
@ cdecl -arch=win64 ??0scoped_lock@critical_section@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) msvcr120.??0scoped_lock@critical_section@Concurrency@@QEAA@AEAV12@@Z
@ stub -arch=arm ??0scoped_lock@reader_writer_lock@Concurrency@@QAA@AAV12@@Z
@ stub -arch=i386 ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ stub -arch=win64 ??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ stub -arch=arm ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAA@AAV12@@Z
@ stub -arch=i386 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ stub -arch=win64 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ cdecl -arch=arm ??0scoped_lock@reader_writer_lock@Concurrency@@QAA@AAV12@@Z(ptr ptr) msvcr120.??0scoped_lock@reader_writer_lock@Concurrency@@QAA@AAV12@@Z
@ thiscall -arch=i386 ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z(ptr ptr) msvcr120.??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ cdecl -arch=win64 ??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) msvcr120.??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ cdecl -arch=arm ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAA@AAV12@@Z(ptr ptr) msvcr120.??0scoped_lock_read@reader_writer_lock@Concurrency@@QAA@AAV12@@Z
@ thiscall -arch=i386 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z(ptr ptr) msvcr120.??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
@ cdecl -arch=win64 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) msvcr120.??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
@ stub -arch=arm ??0task_canceled@Concurrency@@QAA@PBD@Z
@ stub -arch=i386 ??0task_canceled@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0task_canceled@Concurrency@@QEAA@PEBD@Z
@ -319,12 +319,12 @@
@ cdecl -arch=arm ??1scoped_lock@critical_section@Concurrency@@QAA@XZ(ptr) msvcr120.??1scoped_lock@critical_section@Concurrency@@QAA@XZ
@ thiscall -arch=i386 ??1scoped_lock@critical_section@Concurrency@@QAE@XZ(ptr) msvcr120.??1scoped_lock@critical_section@Concurrency@@QAE@XZ
@ cdecl -arch=win64 ??1scoped_lock@critical_section@Concurrency@@QEAA@XZ(ptr) msvcr120.??1scoped_lock@critical_section@Concurrency@@QEAA@XZ
@ stub -arch=arm ??1scoped_lock@reader_writer_lock@Concurrency@@QAA@XZ
@ stub -arch=i386 ??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ
@ stub -arch=win64 ??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ
@ stub -arch=arm ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAA@XZ
@ stub -arch=i386 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ
@ stub -arch=win64 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ
@ cdecl -arch=arm ??1scoped_lock@reader_writer_lock@Concurrency@@QAA@XZ(ptr) msvcr120.??1scoped_lock@reader_writer_lock@Concurrency@@QAA@XZ
@ thiscall -arch=i386 ??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ(ptr) msvcr120.??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ
@ cdecl -arch=win64 ??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ(ptr) msvcr120.??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ
@ cdecl -arch=arm ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAA@XZ(ptr) msvcr120.??1scoped_lock_read@reader_writer_lock@Concurrency@@QAA@XZ
@ thiscall -arch=i386 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ(ptr) msvcr120.??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ
@ cdecl -arch=win64 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ(ptr) msvcr120.??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ
@ cdecl -arch=arm ??1type_info@@UAA@XZ(ptr) msvcr120.??1type_info@@UAA@XZ
@ thiscall -arch=i386 ??1type_info@@UAE@XZ(ptr) msvcr120.??1type_info@@UAE@XZ
@ cdecl -arch=win64 ??1type_info@@UEAA@XZ(ptr) msvcr120.??1type_info@@UEAA@XZ

View File

@ -1170,6 +1170,54 @@ void __thiscall reader_writer_lock_unlock(reader_writer_lock *this)
InterlockedOr(&this->count, WRITER_WAITING);
}
typedef struct {
reader_writer_lock *lock;
} reader_writer_lock_scoped_lock;
/* ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z */
/* ??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z */
DEFINE_THISCALL_WRAPPER(reader_writer_lock_scoped_lock_ctor, 8)
reader_writer_lock_scoped_lock* __thiscall reader_writer_lock_scoped_lock_ctor(
reader_writer_lock_scoped_lock *this, reader_writer_lock *lock)
{
TRACE("(%p %p)\n", this, lock);
this->lock = lock;
reader_writer_lock_lock(lock);
return this;
}
/* ??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ */
/* ??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER(reader_writer_lock_scoped_lock_dtor, 4)
void __thiscall reader_writer_lock_scoped_lock_dtor(reader_writer_lock_scoped_lock *this)
{
TRACE("(%p)\n", this);
reader_writer_lock_unlock(this->lock);
}
/* ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z */
/* ??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z */
DEFINE_THISCALL_WRAPPER(reader_writer_lock_scoped_lock_read_ctor, 8)
reader_writer_lock_scoped_lock* __thiscall reader_writer_lock_scoped_lock_read_ctor(
reader_writer_lock_scoped_lock *this, reader_writer_lock *lock)
{
TRACE("(%p %p)\n", this, lock);
this->lock = lock;
reader_writer_lock_lock_read(lock);
return this;
}
/* ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ */
/* ??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER(reader_writer_lock_scoped_lock_read_dtor, 4)
void __thiscall reader_writer_lock_scoped_lock_read_dtor(reader_writer_lock_scoped_lock *this)
{
TRACE("(%p)\n", this);
reader_writer_lock_unlock(this->lock);
}
typedef struct {
CRITICAL_SECTION cs;
} _ReentrantBlockingLock;