Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
635f59f2
Commit
635f59f2
authored
Aug 20, 2021
by
Piotr Caban
Committed by
Alexandre Julliard
Aug 20, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Move invalid_scheduler_policy_key to concurrency.c.
Signed-off-by:
Piotr Caban
<
piotr@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
a8decf5c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
58 additions
and
52 deletions
+58
-52
concurrency.c
dlls/msvcrt/concurrency.c
+58
-8
cpp.c
dlls/msvcrt/cpp.c
+0
-43
msvcrt.h
dlls/msvcrt/msvcrt.h
+0
-1
No files found.
dlls/msvcrt/concurrency.c
View file @
635f59f2
...
...
@@ -302,6 +302,9 @@ typedef struct {
typedef
exception
improper_lock
;
extern
const
vtable_ptr
improper_lock_vtable
;
typedef
exception
invalid_scheduler_policy_key
;
extern
const
vtable_ptr
invalid_scheduler_policy_key_vtable
;
typedef
struct
{
exception
e
;
HRESULT
hr
;
...
...
@@ -361,6 +364,33 @@ improper_lock * __thiscall improper_lock_copy_ctor(improper_lock *this, const im
return
__exception_copy_ctor
(
this
,
rhs
,
&
improper_lock_vtable
);
}
/* ??0invalid_scheduler_policy_key@Concurrency@@QAE@PBD@Z */
/* ??0invalid_scheduler_policy_key@Concurrency@@QEAA@PEBD@Z */
DEFINE_THISCALL_WRAPPER
(
invalid_scheduler_policy_key_ctor_str
,
8
)
invalid_scheduler_policy_key
*
__thiscall
invalid_scheduler_policy_key_ctor_str
(
invalid_scheduler_policy_key
*
this
,
const
char
*
str
)
{
TRACE
(
"(%p %p)
\n
"
,
this
,
str
);
return
__exception_ctor
(
this
,
str
,
&
invalid_scheduler_policy_key_vtable
);
}
/* ??0invalid_scheduler_policy_key@Concurrency@@QAE@XZ */
/* ??0invalid_scheduler_policy_key@Concurrency@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER
(
invalid_scheduler_policy_key_ctor
,
4
)
invalid_scheduler_policy_key
*
__thiscall
invalid_scheduler_policy_key_ctor
(
invalid_scheduler_policy_key
*
this
)
{
return
invalid_scheduler_policy_key_ctor_str
(
this
,
NULL
);
}
DEFINE_THISCALL_WRAPPER
(
invalid_scheduler_policy_key_copy_ctor
,
8
)
invalid_scheduler_policy_key
*
__thiscall
invalid_scheduler_policy_key_copy_ctor
(
invalid_scheduler_policy_key
*
_this
,
const
invalid_scheduler_policy_key
*
rhs
)
{
TRACE
(
"(%p %p)
\n
"
,
_this
,
rhs
);
return
__exception_copy_ctor
(
_this
,
rhs
,
&
invalid_scheduler_policy_key_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
)
...
...
@@ -408,16 +438,22 @@ HRESULT __thiscall scheduler_resource_allocation_error_get_error_code(
DEFINE_RTTI_DATA1
(
improper_lock
,
0
,
&
cexception_rtti_base_descriptor
,
".?AVimproper_lock@Concurrency@@"
)
DEFINE_RTTI_DATA1
(
invalid_scheduler_policy_key
,
0
,
&
cexception_rtti_base_descriptor
,
".?AVinvalid_scheduler_policy_key@Concurrency@@"
)
DEFINE_RTTI_DATA1
(
scheduler_resource_allocation_error
,
0
,
&
cexception_rtti_base_descriptor
,
".?AVscheduler_resource_allocation_error@Concurrency@@"
)
DEFINE_CXX_DATA1
(
improper_lock
,
&
cexception_cxx_type_info
,
cexception_dtor
)
DEFINE_CXX_DATA1
(
invalid_scheduler_policy_key
,
&
cexception_cxx_type_info
,
cexception_dtor
)
DEFINE_CXX_DATA1
(
scheduler_resource_allocation_error
,
&
cexception_cxx_type_info
,
cexception_dtor
)
__ASM_BLOCK_BEGIN
(
concurrency_exception_vtables
)
__ASM_VTABLE
(
improper_lock
,
VTABLE_ADD_FUNC
(
cexception_vector_dtor
)
VTABLE_ADD_FUNC
(
cexception_what
));
__ASM_VTABLE
(
invalid_scheduler_policy_key
,
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
));
...
...
@@ -720,12 +756,21 @@ unsigned int __thiscall SchedulerPolicy_SetPolicyValue(SchedulerPolicy *this,
TRACE
(
"(%p %d %d)
\n
"
,
this
,
policy
,
val
);
if
(
policy
==
MinConcurrency
)
throw_exception
(
EXCEPTION_INVALID_SCHEDULER_POLICY_KEY
,
0
,
"MinConcurrency"
);
if
(
policy
==
MaxConcurrency
)
throw_exception
(
EXCEPTION_INVALID_SCHEDULER_POLICY_KEY
,
0
,
"MaxConcurrency"
);
if
(
policy
>=
last_policy_id
)
throw_exception
(
EXCEPTION_INVALID_SCHEDULER_POLICY_KEY
,
0
,
"Invalid policy"
);
if
(
policy
==
MinConcurrency
)
{
invalid_scheduler_policy_key
e
;
invalid_scheduler_policy_key_ctor_str
(
&
e
,
"MinConcurrency"
);
_CxxThrowException
(
&
e
,
&
invalid_scheduler_policy_key_exception_type
);
}
if
(
policy
==
MaxConcurrency
)
{
invalid_scheduler_policy_key
e
;
invalid_scheduler_policy_key_ctor_str
(
&
e
,
"MaxConcurrency"
);
_CxxThrowException
(
&
e
,
&
invalid_scheduler_policy_key_exception_type
);
}
if
(
policy
>=
last_policy_id
)
{
invalid_scheduler_policy_key
e
;
invalid_scheduler_policy_key_ctor_str
(
&
e
,
"Invalid policy"
);
_CxxThrowException
(
&
e
,
&
invalid_scheduler_policy_key_exception_type
);
}
switch
(
policy
)
{
case
SchedulerKind
:
...
...
@@ -784,8 +829,11 @@ unsigned int __thiscall SchedulerPolicy_GetPolicyValue(
{
TRACE
(
"(%p %d)
\n
"
,
this
,
policy
);
if
(
policy
>=
last_policy_id
)
throw_exception
(
EXCEPTION_INVALID_SCHEDULER_POLICY_KEY
,
0
,
"Invalid policy"
);
if
(
policy
>=
last_policy_id
)
{
invalid_scheduler_policy_key
e
;
invalid_scheduler_policy_key_ctor_str
(
&
e
,
"Invalid policy"
);
_CxxThrowException
(
&
e
,
&
invalid_scheduler_policy_key_exception_type
);
}
return
this
->
policy_container
->
policies
[
policy
];
}
...
...
@@ -2583,6 +2631,7 @@ void msvcrt_init_concurrency(void *base)
#ifdef __x86_64__
init_cexception_rtti
(
base
);
init_improper_lock_rtti
(
base
);
init_invalid_scheduler_policy_key_rtti
(
base
);
init_scheduler_resource_allocation_error_rtti
(
base
);
init_Context_rtti
(
base
);
init_ContextBase_rtti
(
base
);
...
...
@@ -2593,6 +2642,7 @@ void msvcrt_init_concurrency(void *base)
init_cexception_cxx_type_info
(
base
);
init_improper_lock_cxx
(
base
);
init_invalid_scheduler_policy_key_cxx
(
base
);
init_scheduler_resource_allocation_error_cxx
(
base
);
#endif
}
...
...
dlls/msvcrt/cpp.c
View file @
635f59f2
...
...
@@ -551,36 +551,6 @@ void __thiscall bad_alloc_dtor(bad_alloc * _this)
#if _MSVCR_VER >= 100
typedef
exception
invalid_scheduler_policy_key
;
extern
const
vtable_ptr
invalid_scheduler_policy_key_vtable
;
/* ??0invalid_scheduler_policy_key@Concurrency@@QAE@PBD@Z */
/* ??0invalid_scheduler_policy_key@Concurrency@@QEAA@PEBD@Z */
DEFINE_THISCALL_WRAPPER
(
invalid_scheduler_policy_key_ctor_str
,
8
)
invalid_scheduler_policy_key
*
__thiscall
invalid_scheduler_policy_key_ctor_str
(
invalid_scheduler_policy_key
*
this
,
const
char
*
str
)
{
TRACE
(
"(%p %p)
\n
"
,
this
,
str
);
return
__exception_ctor
(
this
,
str
,
&
invalid_scheduler_policy_key_vtable
);
}
/* ??0invalid_scheduler_policy_key@Concurrency@@QAE@XZ */
/* ??0invalid_scheduler_policy_key@Concurrency@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER
(
invalid_scheduler_policy_key_ctor
,
4
)
invalid_scheduler_policy_key
*
__thiscall
invalid_scheduler_policy_key_ctor
(
invalid_scheduler_policy_key
*
this
)
{
return
invalid_scheduler_policy_key_ctor_str
(
this
,
NULL
);
}
DEFINE_THISCALL_WRAPPER
(
invalid_scheduler_policy_key_copy_ctor
,
8
)
invalid_scheduler_policy_key
*
__thiscall
invalid_scheduler_policy_key_copy_ctor
(
invalid_scheduler_policy_key
*
_this
,
const
invalid_scheduler_policy_key
*
rhs
)
{
TRACE
(
"(%p %p)
\n
"
,
_this
,
rhs
);
return
__exception_copy_ctor
(
_this
,
rhs
,
&
invalid_scheduler_policy_key_vtable
);
}
typedef
exception
invalid_scheduler_policy_value
;
extern
const
vtable_ptr
invalid_scheduler_policy_value_vtable
;
...
...
@@ -723,9 +693,6 @@ __ASM_VTABLE(__non_rtti_object,
VTABLE_ADD_FUNC
(
__non_rtti_object_vector_dtor
)
VTABLE_ADD_FUNC
(
exception_what
));
#if _MSVCR_VER >= 100
__ASM_VTABLE
(
invalid_scheduler_policy_key
,
VTABLE_ADD_FUNC
(
exception_vector_dtor
)
VTABLE_ADD_FUNC
(
exception_what
));
__ASM_VTABLE
(
invalid_scheduler_policy_value
,
VTABLE_ADD_FUNC
(
exception_vector_dtor
)
VTABLE_ADD_FUNC
(
exception_what
));
...
...
@@ -754,8 +721,6 @@ DEFINE_RTTI_DATA1( bad_cast, 0, &exception_rtti_base_descriptor, ".?AVbad_cast@@
DEFINE_RTTI_DATA2
(
__non_rtti_object
,
0
,
&
bad_typeid_rtti_base_descriptor
,
&
exception_rtti_base_descriptor
,
".?AV__non_rtti_object@@"
)
#endif
#if _MSVCR_VER >= 100
DEFINE_RTTI_DATA1
(
invalid_scheduler_policy_key
,
0
,
&
exception_rtti_base_descriptor
,
".?AVinvalid_scheduler_policy_key@Concurrency@@"
)
DEFINE_RTTI_DATA1
(
invalid_scheduler_policy_value
,
0
,
&
exception_rtti_base_descriptor
,
".?AVinvalid_scheduler_policy_value@Concurrency@@"
)
DEFINE_RTTI_DATA1
(
invalid_scheduler_policy_thread_specification
,
0
,
&
exception_rtti_base_descriptor
,
...
...
@@ -775,7 +740,6 @@ DEFINE_CXX_DATA2( __non_rtti_object, &bad_typeid_cxx_type_info,
DEFINE_CXX_DATA1
(
bad_alloc
,
&
exception_cxx_type_info
,
bad_alloc_dtor
)
#endif
#if _MSVCR_VER >= 100
DEFINE_CXX_DATA1
(
invalid_scheduler_policy_key
,
&
exception_cxx_type_info
,
exception_dtor
)
DEFINE_CXX_DATA1
(
invalid_scheduler_policy_value
,
&
exception_cxx_type_info
,
exception_dtor
)
DEFINE_CXX_DATA1
(
invalid_scheduler_policy_thread_specification
,
&
exception_cxx_type_info
,
exception_dtor
)
DEFINE_CXX_DATA1
(
improper_scheduler_attach
,
&
exception_cxx_type_info
,
exception_dtor
)
...
...
@@ -795,7 +759,6 @@ void msvcrt_init_exception(void *base)
init_bad_cast_rtti
(
base
);
init___non_rtti_object_rtti
(
base
);
#if _MSVCR_VER >= 100
init_invalid_scheduler_policy_key_rtti
(
base
);
init_invalid_scheduler_policy_value_rtti
(
base
);
init_invalid_scheduler_policy_thread_specification_rtti
(
base
);
init_improper_scheduler_attach_rtti
(
base
);
...
...
@@ -810,7 +773,6 @@ void msvcrt_init_exception(void *base)
init_bad_alloc_cxx
(
base
);
#endif
#if _MSVCR_VER >= 100
init_invalid_scheduler_policy_key_cxx
(
base
);
init_invalid_scheduler_policy_value_cxx
(
base
);
init_invalid_scheduler_policy_thread_specification_cxx
(
base
);
init_improper_scheduler_attach_cxx
(
base
);
...
...
@@ -829,11 +791,6 @@ void throw_exception(exception_type et, HRESULT hr, const char *str)
_CxxThrowException
(
&
e
,
&
bad_alloc_exception_type
);
}
#if _MSVCR_VER >= 100
case
EXCEPTION_INVALID_SCHEDULER_POLICY_KEY
:
{
invalid_scheduler_policy_key
e
;
invalid_scheduler_policy_key_ctor_str
(
&
e
,
str
);
_CxxThrowException
(
&
e
,
&
invalid_scheduler_policy_key_exception_type
);
}
case
EXCEPTION_INVALID_SCHEDULER_POLICY_VALUE
:
{
invalid_scheduler_policy_value
e
;
invalid_scheduler_policy_value_ctor_str
(
&
e
,
str
);
...
...
dlls/msvcrt/msvcrt.h
View file @
635f59f2
...
...
@@ -190,7 +190,6 @@ void msvcrt_set_errno(int) DECLSPEC_HIDDEN;
typedef
enum
{
EXCEPTION_BAD_ALLOC
,
#if _MSVCR_VER >= 100
EXCEPTION_INVALID_SCHEDULER_POLICY_KEY
,
EXCEPTION_INVALID_SCHEDULER_POLICY_VALUE
,
EXCEPTION_INVALID_SCHEDULER_POLICY_THREAD_SPECIFICATION
,
EXCEPTION_IMPROPER_SCHEDULER_ATTACH
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment