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
9694fc11
Commit
9694fc11
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 improper_scheduler_attach to concurrency.c.
Signed-off-by:
Piotr Caban
<
piotr@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
c9189a41
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
43 additions
and
46 deletions
+43
-46
concurrency.c
dlls/msvcrt/concurrency.c
+43
-2
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 @
9694fc11
...
...
@@ -302,6 +302,9 @@ typedef struct {
typedef
exception
improper_lock
;
extern
const
vtable_ptr
improper_lock_vtable
;
typedef
exception
improper_scheduler_attach
;
extern
const
vtable_ptr
improper_scheduler_attach_vtable
;
typedef
exception
invalid_scheduler_policy_key
;
extern
const
vtable_ptr
invalid_scheduler_policy_key_vtable
;
...
...
@@ -370,6 +373,33 @@ improper_lock * __thiscall improper_lock_copy_ctor(improper_lock *this, const im
return
__exception_copy_ctor
(
this
,
rhs
,
&
improper_lock_vtable
);
}
/* ??0improper_scheduler_attach@Concurrency@@QAE@PBD@Z */
/* ??0improper_scheduler_attach@Concurrency@@QEAA@PEBD@Z */
DEFINE_THISCALL_WRAPPER
(
improper_scheduler_attach_ctor_str
,
8
)
improper_scheduler_attach
*
__thiscall
improper_scheduler_attach_ctor_str
(
improper_scheduler_attach
*
this
,
const
char
*
str
)
{
TRACE
(
"(%p %p)
\n
"
,
this
,
str
);
return
__exception_ctor
(
this
,
str
,
&
improper_scheduler_attach_vtable
);
}
/* ??0improper_scheduler_attach@Concurrency@@QAE@XZ */
/* ??0improper_scheduler_attach@Concurrency@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER
(
improper_scheduler_attach_ctor
,
4
)
improper_scheduler_attach
*
__thiscall
improper_scheduler_attach_ctor
(
improper_scheduler_attach
*
this
)
{
return
improper_scheduler_attach_ctor_str
(
this
,
NULL
);
}
DEFINE_THISCALL_WRAPPER
(
improper_scheduler_attach_copy_ctor
,
8
)
improper_scheduler_attach
*
__thiscall
improper_scheduler_attach_copy_ctor
(
improper_scheduler_attach
*
_this
,
const
improper_scheduler_attach
*
rhs
)
{
TRACE
(
"(%p %p)
\n
"
,
_this
,
rhs
);
return
__exception_copy_ctor
(
_this
,
rhs
,
&
improper_scheduler_attach_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
)
...
...
@@ -498,6 +528,8 @@ 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
(
improper_scheduler_attach
,
0
,
&
cexception_rtti_base_descriptor
,
".?AVimproper_scheduler_attach@Concurrency@@"
)
DEFINE_RTTI_DATA1
(
invalid_scheduler_policy_key
,
0
,
&
cexception_rtti_base_descriptor
,
".?AVinvalid_scheduler_policy_key@Concurrency@@"
)
DEFINE_RTTI_DATA1
(
invalid_scheduler_policy_thread_specification
,
0
,
&
cexception_rtti_base_descriptor
,
...
...
@@ -508,6 +540,7 @@ DEFINE_RTTI_DATA1(scheduler_resource_allocation_error, 0, &cexception_rtti_base_
".?AVscheduler_resource_allocation_error@Concurrency@@"
)
DEFINE_CXX_DATA1
(
improper_lock
,
&
cexception_cxx_type_info
,
cexception_dtor
)
DEFINE_CXX_DATA1
(
improper_scheduler_attach
,
&
cexception_cxx_type_info
,
cexception_dtor
)
DEFINE_CXX_DATA1
(
invalid_scheduler_policy_key
,
&
cexception_cxx_type_info
,
cexception_dtor
)
DEFINE_CXX_DATA1
(
invalid_scheduler_policy_thread_specification
,
&
cexception_cxx_type_info
,
cexception_dtor
)
DEFINE_CXX_DATA1
(
invalid_scheduler_policy_value
,
&
cexception_cxx_type_info
,
cexception_dtor
)
...
...
@@ -517,6 +550,9 @@ __ASM_BLOCK_BEGIN(concurrency_exception_vtables)
__ASM_VTABLE
(
improper_lock
,
VTABLE_ADD_FUNC
(
cexception_vector_dtor
)
VTABLE_ADD_FUNC
(
cexception_what
));
__ASM_VTABLE
(
improper_scheduler_attach
,
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
));
...
...
@@ -1105,8 +1141,11 @@ void __thiscall ThreadScheduler_Attach(ThreadScheduler *this)
return
;
}
if
(
context
->
scheduler
.
scheduler
==
&
this
->
scheduler
)
throw_exception
(
EXCEPTION_IMPROPER_SCHEDULER_ATTACH
,
0
,
NULL
);
if
(
context
->
scheduler
.
scheduler
==
&
this
->
scheduler
)
{
improper_scheduler_attach
e
;
improper_scheduler_attach_ctor_str
(
&
e
,
NULL
);
_CxxThrowException
(
&
e
,
&
improper_scheduler_attach_exception_type
);
}
if
(
context
->
scheduler
.
scheduler
)
{
struct
scheduler_list
*
l
=
operator_new
(
sizeof
(
*
l
));
...
...
@@ -2720,6 +2759,7 @@ void msvcrt_init_concurrency(void *base)
#ifdef __x86_64__
init_cexception_rtti
(
base
);
init_improper_lock_rtti
(
base
);
init_improper_scheduler_attach_rtti
(
base
);
init_invalid_scheduler_policy_key_rtti
(
base
);
init_invalid_scheduler_policy_thread_specification_rtti
(
base
);
init_invalid_scheduler_policy_value_rtti
(
base
);
...
...
@@ -2733,6 +2773,7 @@ void msvcrt_init_concurrency(void *base)
init_cexception_cxx_type_info
(
base
);
init_improper_lock_cxx
(
base
);
init_improper_scheduler_attach_cxx
(
base
);
init_invalid_scheduler_policy_key_cxx
(
base
);
init_invalid_scheduler_policy_thread_specification_cxx
(
base
);
init_invalid_scheduler_policy_value_cxx
(
base
);
...
...
dlls/msvcrt/cpp.c
View file @
9694fc11
...
...
@@ -551,36 +551,6 @@ void __thiscall bad_alloc_dtor(bad_alloc * _this)
#if _MSVCR_VER >= 100
typedef
exception
improper_scheduler_attach
;
extern
const
vtable_ptr
improper_scheduler_attach_vtable
;
/* ??0improper_scheduler_attach@Concurrency@@QAE@PBD@Z */
/* ??0improper_scheduler_attach@Concurrency@@QEAA@PEBD@Z */
DEFINE_THISCALL_WRAPPER
(
improper_scheduler_attach_ctor_str
,
8
)
improper_scheduler_attach
*
__thiscall
improper_scheduler_attach_ctor_str
(
improper_scheduler_attach
*
this
,
const
char
*
str
)
{
TRACE
(
"(%p %p)
\n
"
,
this
,
str
);
return
__exception_ctor
(
this
,
str
,
&
improper_scheduler_attach_vtable
);
}
/* ??0improper_scheduler_attach@Concurrency@@QAE@XZ */
/* ??0improper_scheduler_attach@Concurrency@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER
(
improper_scheduler_attach_ctor
,
4
)
improper_scheduler_attach
*
__thiscall
improper_scheduler_attach_ctor
(
improper_scheduler_attach
*
this
)
{
return
improper_scheduler_attach_ctor_str
(
this
,
NULL
);
}
DEFINE_THISCALL_WRAPPER
(
improper_scheduler_attach_copy_ctor
,
8
)
improper_scheduler_attach
*
__thiscall
improper_scheduler_attach_copy_ctor
(
improper_scheduler_attach
*
_this
,
const
improper_scheduler_attach
*
rhs
)
{
TRACE
(
"(%p %p)
\n
"
,
_this
,
rhs
);
return
__exception_copy_ctor
(
_this
,
rhs
,
&
improper_scheduler_attach_vtable
);
}
typedef
exception
improper_scheduler_detach
;
extern
const
vtable_ptr
improper_scheduler_detach_vtable
;
...
...
@@ -633,9 +603,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
(
improper_scheduler_attach
,
VTABLE_ADD_FUNC
(
exception_vector_dtor
)
VTABLE_ADD_FUNC
(
exception_what
));
__ASM_VTABLE
(
improper_scheduler_detach
,
VTABLE_ADD_FUNC
(
exception_vector_dtor
)
VTABLE_ADD_FUNC
(
exception_what
));
...
...
@@ -655,8 +622,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
(
improper_scheduler_attach
,
0
,
&
exception_rtti_base_descriptor
,
".?AVimproper_scheduler_attach@Concurrency@@"
)
DEFINE_RTTI_DATA1
(
improper_scheduler_detach
,
0
,
&
exception_rtti_base_descriptor
,
".?AVimproper_scheduler_detach@Concurrency@@"
)
#endif
...
...
@@ -670,7 +635,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
(
improper_scheduler_attach
,
&
exception_cxx_type_info
,
exception_dtor
)
DEFINE_CXX_DATA1
(
improper_scheduler_detach
,
&
exception_cxx_type_info
,
exception_dtor
)
#endif
...
...
@@ -687,7 +651,6 @@ void msvcrt_init_exception(void *base)
init_bad_cast_rtti
(
base
);
init___non_rtti_object_rtti
(
base
);
#if _MSVCR_VER >= 100
init_improper_scheduler_attach_rtti
(
base
);
init_improper_scheduler_detach_rtti
(
base
);
#endif
...
...
@@ -699,7 +662,6 @@ void msvcrt_init_exception(void *base)
init_bad_alloc_cxx
(
base
);
#endif
#if _MSVCR_VER >= 100
init_improper_scheduler_attach_cxx
(
base
);
init_improper_scheduler_detach_cxx
(
base
);
#endif
#endif
...
...
@@ -715,11 +677,6 @@ void throw_exception(exception_type et, HRESULT hr, const char *str)
_CxxThrowException
(
&
e
,
&
bad_alloc_exception_type
);
}
#if _MSVCR_VER >= 100
case
EXCEPTION_IMPROPER_SCHEDULER_ATTACH
:
{
improper_scheduler_attach
e
;
improper_scheduler_attach_ctor_str
(
&
e
,
str
);
_CxxThrowException
(
&
e
,
&
improper_scheduler_attach_exception_type
);
}
case
EXCEPTION_IMPROPER_SCHEDULER_DETACH
:
{
improper_scheduler_detach
e
;
improper_scheduler_detach_ctor_str
(
&
e
,
str
);
...
...
dlls/msvcrt/msvcrt.h
View file @
9694fc11
...
...
@@ -190,7 +190,6 @@ void msvcrt_set_errno(int) DECLSPEC_HIDDEN;
typedef
enum
{
EXCEPTION_BAD_ALLOC
,
#if _MSVCR_VER >= 100
EXCEPTION_IMPROPER_SCHEDULER_ATTACH
,
EXCEPTION_IMPROPER_SCHEDULER_DETACH
,
#endif
}
exception_type
;
...
...
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