msvcr100: Implement missing_wait exception.

This commit is contained in:
Torge Matthies 2022-09-26 23:04:01 +02:00 committed by Alexandre Julliard
parent d1468c2b60
commit cef3dcbddd
6 changed files with 65 additions and 28 deletions

View file

@ -180,12 +180,12 @@
@ stub -arch=arm ??0message_not_found@Concurrency@@QAA@XZ
@ stub -arch=i386 ??0message_not_found@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0message_not_found@Concurrency@@QEAA@XZ
@ stub -arch=arm ??0missing_wait@Concurrency@@QAA@PBD@Z
@ stub -arch=i386 ??0missing_wait@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0missing_wait@Concurrency@@QEAA@PEBD@Z
@ stub -arch=arm ??0missing_wait@Concurrency@@QAA@XZ
@ stub -arch=i386 ??0missing_wait@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0missing_wait@Concurrency@@QEAA@XZ
@ cdecl -arch=arm ??0missing_wait@Concurrency@@QAA@PBD@Z(ptr str) missing_wait_ctor_str
@ thiscall -arch=i386 ??0missing_wait@Concurrency@@QAE@PBD@Z(ptr str) missing_wait_ctor_str
@ cdecl -arch=win64 ??0missing_wait@Concurrency@@QEAA@PEBD@Z(ptr str) missing_wait_ctor_str
@ cdecl -arch=arm ??0missing_wait@Concurrency@@QAA@XZ(ptr) missing_wait_ctor
@ thiscall -arch=i386 ??0missing_wait@Concurrency@@QAE@XZ(ptr) missing_wait_ctor
@ cdecl -arch=win64 ??0missing_wait@Concurrency@@QEAA@XZ(ptr) missing_wait_ctor
@ stub -arch=arm ??0nested_scheduler_missing_detach@Concurrency@@QAA@PBD@Z
@ stub -arch=i386 ??0nested_scheduler_missing_detach@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0nested_scheduler_missing_detach@Concurrency@@QEAA@PEBD@Z

View file

@ -122,10 +122,10 @@
@ stub -arch=win64 ??0message_not_found@Concurrency@@QEAA@PEBD@Z
@ stub -arch=win32 ??0message_not_found@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0message_not_found@Concurrency@@QEAA@XZ
@ stub -arch=win32 ??0missing_wait@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0missing_wait@Concurrency@@QEAA@PEBD@Z
@ stub -arch=win32 ??0missing_wait@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0missing_wait@Concurrency@@QEAA@XZ
@ thiscall -arch=win32 ??0missing_wait@Concurrency@@QAE@PBD@Z(ptr str) missing_wait_ctor_str
@ cdecl -arch=win64 ??0missing_wait@Concurrency@@QEAA@PEBD@Z(ptr str) missing_wait_ctor_str
@ thiscall -arch=win32 ??0missing_wait@Concurrency@@QAE@XZ(ptr) missing_wait_ctor
@ cdecl -arch=win64 ??0missing_wait@Concurrency@@QEAA@XZ(ptr) missing_wait_ctor
@ stub -arch=win32 ??0nested_scheduler_missing_detach@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0nested_scheduler_missing_detach@Concurrency@@QEAA@PEBD@Z
@ stub -arch=win32 ??0nested_scheduler_missing_detach@Concurrency@@QAE@XZ

View file

@ -209,12 +209,12 @@
@ stub -arch=arm ??0message_not_found@Concurrency@@QAA@XZ
@ stub -arch=i386 ??0message_not_found@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0message_not_found@Concurrency@@QEAA@XZ
@ stub -arch=arm ??0missing_wait@Concurrency@@QAA@PBD@Z
@ stub -arch=i386 ??0missing_wait@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0missing_wait@Concurrency@@QEAA@PEBD@Z
@ stub -arch=arm ??0missing_wait@Concurrency@@QAA@XZ
@ stub -arch=i386 ??0missing_wait@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0missing_wait@Concurrency@@QEAA@XZ
@ cdecl -arch=arm ??0missing_wait@Concurrency@@QAA@PBD@Z(ptr str) missing_wait_ctor_str
@ thiscall -arch=i386 ??0missing_wait@Concurrency@@QAE@PBD@Z(ptr str) missing_wait_ctor_str
@ cdecl -arch=win64 ??0missing_wait@Concurrency@@QEAA@PEBD@Z(ptr str) missing_wait_ctor_str
@ cdecl -arch=arm ??0missing_wait@Concurrency@@QAA@XZ(ptr) missing_wait_ctor
@ thiscall -arch=i386 ??0missing_wait@Concurrency@@QAE@XZ(ptr) missing_wait_ctor
@ cdecl -arch=win64 ??0missing_wait@Concurrency@@QEAA@XZ(ptr) missing_wait_ctor
@ stub -arch=arm ??0nested_scheduler_missing_detach@Concurrency@@QAA@PBD@Z
@ stub -arch=i386 ??0nested_scheduler_missing_detach@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0nested_scheduler_missing_detach@Concurrency@@QEAA@PEBD@Z

View file

@ -206,12 +206,12 @@
@ stub -arch=arm ??0message_not_found@Concurrency@@QAA@XZ
@ stub -arch=i386 ??0message_not_found@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0message_not_found@Concurrency@@QEAA@XZ
@ stub -arch=arm ??0missing_wait@Concurrency@@QAA@PBD@Z
@ stub -arch=i386 ??0missing_wait@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0missing_wait@Concurrency@@QEAA@PEBD@Z
@ stub -arch=arm ??0missing_wait@Concurrency@@QAA@XZ
@ stub -arch=i386 ??0missing_wait@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0missing_wait@Concurrency@@QEAA@XZ
@ cdecl -arch=arm ??0missing_wait@Concurrency@@QAA@PBD@Z(ptr str) missing_wait_ctor_str
@ thiscall -arch=i386 ??0missing_wait@Concurrency@@QAE@PBD@Z(ptr str) missing_wait_ctor_str
@ cdecl -arch=win64 ??0missing_wait@Concurrency@@QEAA@PEBD@Z(ptr str) missing_wait_ctor_str
@ cdecl -arch=arm ??0missing_wait@Concurrency@@QAA@XZ(ptr) missing_wait_ctor
@ thiscall -arch=i386 ??0missing_wait@Concurrency@@QAE@XZ(ptr) missing_wait_ctor
@ cdecl -arch=win64 ??0missing_wait@Concurrency@@QEAA@XZ(ptr) missing_wait_ctor
@ stub -arch=arm ??0nested_scheduler_missing_detach@Concurrency@@QAA@PBD@Z
@ stub -arch=i386 ??0nested_scheduler_missing_detach@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0nested_scheduler_missing_detach@Concurrency@@QEAA@PEBD@Z

View file

@ -204,12 +204,12 @@
@ stub -arch=arm ??0message_not_found@Concurrency@@QAA@XZ
@ stub -arch=i386 ??0message_not_found@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0message_not_found@Concurrency@@QEAA@XZ
@ stub -arch=arm ??0missing_wait@Concurrency@@QAA@PBD@Z
@ stub -arch=i386 ??0missing_wait@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0missing_wait@Concurrency@@QEAA@PEBD@Z
@ stub -arch=arm ??0missing_wait@Concurrency@@QAA@XZ
@ stub -arch=i386 ??0missing_wait@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0missing_wait@Concurrency@@QEAA@XZ
@ cdecl -arch=arm ??0missing_wait@Concurrency@@QAA@PBD@Z(ptr str) msvcr120.??0missing_wait@Concurrency@@QAA@PBD@Z
@ thiscall -arch=i386 ??0missing_wait@Concurrency@@QAE@PBD@Z(ptr str) msvcr120.??0missing_wait@Concurrency@@QAE@PBD@Z
@ cdecl -arch=win64 ??0missing_wait@Concurrency@@QEAA@PEBD@Z(ptr str) msvcr120.??0missing_wait@Concurrency@@QEAA@PEBD@Z
@ cdecl -arch=arm ??0missing_wait@Concurrency@@QAA@XZ(ptr) msvcr120.??0missing_wait@Concurrency@@QAA@XZ
@ thiscall -arch=i386 ??0missing_wait@Concurrency@@QAE@XZ(ptr) msvcr120.??0missing_wait@Concurrency@@QAE@XZ
@ cdecl -arch=win64 ??0missing_wait@Concurrency@@QEAA@XZ(ptr) msvcr120.??0missing_wait@Concurrency@@QEAA@XZ
@ stub -arch=arm ??0nested_scheduler_missing_detach@Concurrency@@QAA@PBD@Z
@ stub -arch=i386 ??0nested_scheduler_missing_detach@Concurrency@@QAE@PBD@Z
@ stub -arch=win64 ??0nested_scheduler_missing_detach@Concurrency@@QEAA@PEBD@Z

View file

@ -361,6 +361,9 @@ extern const vtable_ptr invalid_scheduler_policy_thread_specification_vtable;
typedef exception invalid_scheduler_policy_value;
extern const vtable_ptr invalid_scheduler_policy_value_vtable;
typedef exception missing_wait;
extern const vtable_ptr missing_wait_vtable;
typedef struct {
exception e;
HRESULT hr;
@ -584,6 +587,34 @@ invalid_scheduler_policy_value * __thiscall invalid_scheduler_policy_value_copy_
return __exception_copy_ctor(_this, rhs, &invalid_scheduler_policy_value_vtable);
}
/* ??0missing_wait@Concurrency@@QAA@PBD@Z */
/* ??0missing_wait@Concurrency@@QAE@PBD@Z */
/* ??0missing_wait@Concurrency@@QEAA@PEBD@Z */
DEFINE_THISCALL_WRAPPER(missing_wait_ctor_str, 8)
missing_wait* __thiscall missing_wait_ctor_str(
missing_wait *this, const char *str)
{
TRACE("(%p %p)\n", this, str);
return __exception_ctor(this, str, &missing_wait_vtable);
}
/* ??0missing_wait@Concurrency@@QAA@XZ */
/* ??0missing_wait@Concurrency@@QAE@XZ */
/* ??0missing_wait@Concurrency@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER(missing_wait_ctor, 4)
missing_wait* __thiscall missing_wait_ctor(missing_wait *this)
{
return missing_wait_ctor_str(this, NULL);
}
DEFINE_THISCALL_WRAPPER(missing_wait_copy_ctor,8)
missing_wait * __thiscall missing_wait_copy_ctor(
missing_wait * _this, const missing_wait * rhs)
{
TRACE("(%p %p)\n", _this, rhs);
return __exception_copy_ctor(_this, rhs, &missing_wait_vtable);
}
/* ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z */
/* ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z */
DEFINE_THISCALL_WRAPPER(scheduler_resource_allocation_error_ctor_name, 12)
@ -643,6 +674,8 @@ DEFINE_RTTI_DATA1(invalid_scheduler_policy_thread_specification, 0, &cexception_
".?AVinvalid_scheduler_policy_thread_specification@Concurrency@@")
DEFINE_RTTI_DATA1(invalid_scheduler_policy_value, 0, &cexception_rtti_base_descriptor,
".?AVinvalid_scheduler_policy_value@Concurrency@@")
DEFINE_RTTI_DATA1(missing_wait, 0, &cexception_rtti_base_descriptor,
".?AVmissing_wait@Concurrency@@")
DEFINE_RTTI_DATA1(scheduler_resource_allocation_error, 0, &cexception_rtti_base_descriptor,
".?AVscheduler_resource_allocation_error@Concurrency@@")
@ -677,6 +710,9 @@ __ASM_BLOCK_BEGIN(concurrency_exception_vtables)
__ASM_VTABLE(invalid_scheduler_policy_value,
VTABLE_ADD_FUNC(cexception_vector_dtor)
VTABLE_ADD_FUNC(cexception_what));
__ASM_VTABLE(missing_wait,
VTABLE_ADD_FUNC(cexception_vector_dtor)
VTABLE_ADD_FUNC(cexception_what));
__ASM_VTABLE(scheduler_resource_allocation_error,
VTABLE_ADD_FUNC(cexception_vector_dtor)
VTABLE_ADD_FUNC(cexception_what));
@ -3391,6 +3427,7 @@ void msvcrt_init_concurrency(void *base)
init_invalid_scheduler_policy_key_rtti(base);
init_invalid_scheduler_policy_thread_specification_rtti(base);
init_invalid_scheduler_policy_value_rtti(base);
init_missing_wait_rtti(base);
init_scheduler_resource_allocation_error_rtti(base);
init_Context_rtti(base);
init_ContextBase_rtti(base);