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
f69e6220
Commit
f69e6220
authored
Dec 30, 2008
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
server: Make the arguments for CreateRemoteThread client_ptr_t instead of void pointers.
parent
c86ec644
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
19 additions
and
16 deletions
+19
-16
sync.c
dlls/ntdll/sync.c
+5
-5
thread.c
dlls/ntdll/thread.c
+2
-2
server_protocol.h
include/wine/server_protocol.h
+4
-4
protocol.def
server/protocol.def
+3
-3
trace.c
server/trace.c
+5
-2
No files found.
dlls/ntdll/sync.c
View file @
f69e6220
...
@@ -1007,16 +1007,16 @@ static BOOL invoke_apc( const apc_call_t *call, apc_result_t *result )
...
@@ -1007,16 +1007,16 @@ static BOOL invoke_apc( const apc_call_t *call, apc_result_t *result )
HANDLE
handle
;
HANDLE
handle
;
SIZE_T
reserve
=
call
->
create_thread
.
reserve
;
SIZE_T
reserve
=
call
->
create_thread
.
reserve
;
SIZE_T
commit
=
call
->
create_thread
.
commit
;
SIZE_T
commit
=
call
->
create_thread
.
commit
;
void
*
func
=
wine_server_get_ptr
(
call
->
create_thread
.
func
);
void
*
arg
=
wine_server_get_ptr
(
call
->
create_thread
.
arg
);
result
->
type
=
call
->
type
;
result
->
type
=
call
->
type
;
if
(
reserve
==
call
->
create_thread
.
reserve
&&
commit
==
call
->
create_thread
.
commit
)
if
(
reserve
==
call
->
create_thread
.
reserve
&&
commit
==
call
->
create_thread
.
commit
&&
(
ULONG_PTR
)
func
==
call
->
create_thread
.
func
&&
(
ULONG_PTR
)
arg
==
call
->
create_thread
.
arg
)
{
{
result
->
create_thread
.
status
=
RtlCreateUserThread
(
NtCurrentProcess
(),
NULL
,
result
->
create_thread
.
status
=
RtlCreateUserThread
(
NtCurrentProcess
(),
NULL
,
call
->
create_thread
.
suspend
,
NULL
,
call
->
create_thread
.
suspend
,
NULL
,
reserve
,
commit
,
reserve
,
commit
,
func
,
arg
,
&
handle
,
&
id
);
call
->
create_thread
.
func
,
call
->
create_thread
.
arg
,
&
handle
,
&
id
);
result
->
create_thread
.
handle
=
wine_server_obj_handle
(
handle
);
result
->
create_thread
.
handle
=
wine_server_obj_handle
(
handle
);
result
->
create_thread
.
tid
=
HandleToULong
(
id
.
UniqueThread
);
result
->
create_thread
.
tid
=
HandleToULong
(
id
.
UniqueThread
);
}
}
...
...
dlls/ntdll/thread.c
View file @
f69e6220
...
@@ -483,8 +483,8 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, const SECURITY_DESCRIPTOR *
...
@@ -483,8 +483,8 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, const SECURITY_DESCRIPTOR *
memset
(
&
call
,
0
,
sizeof
(
call
)
);
memset
(
&
call
,
0
,
sizeof
(
call
)
);
call
.
create_thread
.
type
=
APC_CREATE_THREAD
;
call
.
create_thread
.
type
=
APC_CREATE_THREAD
;
call
.
create_thread
.
func
=
start
;
call
.
create_thread
.
func
=
wine_server_client_ptr
(
start
)
;
call
.
create_thread
.
arg
=
param
;
call
.
create_thread
.
arg
=
wine_server_client_ptr
(
param
)
;
call
.
create_thread
.
reserve
=
stack_reserve
;
call
.
create_thread
.
reserve
=
stack_reserve
;
call
.
create_thread
.
commit
=
stack_commit
;
call
.
create_thread
.
commit
=
stack_commit
;
call
.
create_thread
.
suspend
=
suspended
;
call
.
create_thread
.
suspend
=
suspended
;
...
...
include/wine/server_protocol.h
View file @
f69e6220
...
@@ -362,11 +362,11 @@ typedef union
...
@@ -362,11 +362,11 @@ typedef union
struct
struct
{
{
enum
apc_type
type
;
enum
apc_type
type
;
void
(
__stdcall
*
func
)(
void
*
);
int
suspend
;
void
*
arg
;
client_ptr_t
func
;
client_ptr_t
arg
;
mem_size_t
reserve
;
mem_size_t
reserve
;
mem_size_t
commit
;
mem_size_t
commit
;
int
suspend
;
}
create_thread
;
}
create_thread
;
}
apc_call_t
;
}
apc_call_t
;
...
@@ -5059,6 +5059,6 @@ union generic_reply
...
@@ -5059,6 +5059,6 @@ union generic_reply
struct
set_window_layered_info_reply
set_window_layered_info_reply
;
struct
set_window_layered_info_reply
set_window_layered_info_reply
;
};
};
#define SERVER_PROTOCOL_VERSION 3
69
#define SERVER_PROTOCOL_VERSION 3
70
#endif
/* __WINE_WINE_SERVER_PROTOCOL_H */
#endif
/* __WINE_WINE_SERVER_PROTOCOL_H */
server/protocol.def
View file @
f69e6220
...
@@ -378,11 +378,11 @@ typedef union
...
@@ -378,11 +378,11 @@ typedef union
struct
struct
{
{
enum apc_type type; /* APC_CREATE_THREAD */
enum apc_type type; /* APC_CREATE_THREAD */
void (__stdcall *func)(void*); /* start function */
int suspend; /* suspended thread? */
void *arg; /* argument for start function */
client_ptr_t func; /* void (__stdcall *func)(void*); start function */
client_ptr_t arg; /* argument for start function */
mem_size_t reserve; /* reserve size for thread stack */
mem_size_t reserve; /* reserve size for thread stack */
mem_size_t commit; /* commit size for thread stack */
mem_size_t commit; /* commit size for thread stack */
int suspend; /* suspended thread? */
} create_thread;
} create_thread;
} apc_call_t;
} apc_call_t;
...
...
server/trace.c
View file @
f69e6220
...
@@ -193,8 +193,11 @@ static void dump_apc_call( const apc_call_t *call )
...
@@ -193,8 +193,11 @@ static void dump_apc_call( const apc_call_t *call )
dump_uint64
(
&
call
->
unmap_view
.
addr
);
dump_uint64
(
&
call
->
unmap_view
.
addr
);
break
;
break
;
case
APC_CREATE_THREAD
:
case
APC_CREATE_THREAD
:
fprintf
(
stderr
,
"APC_CREATE_THREAD,func=%p,arg=%p,reserve="
,
fprintf
(
stderr
,
"APC_CREATE_THREAD,func="
);
call
->
create_thread
.
func
,
call
->
create_thread
.
arg
);
dump_uint64
(
&
call
->
create_thread
.
func
);
fprintf
(
stderr
,
",arg="
);
dump_uint64
(
&
call
->
create_thread
.
arg
);
fprintf
(
stderr
,
",reserve="
);
dump_uint64
(
&
call
->
create_thread
.
reserve
);
dump_uint64
(
&
call
->
create_thread
.
reserve
);
fprintf
(
stderr
,
",commit="
);
fprintf
(
stderr
,
",commit="
);
dump_uint64
(
&
call
->
create_thread
.
commit
);
dump_uint64
(
&
call
->
create_thread
.
commit
);
...
...
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