Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
db6e4548
Commit
db6e4548
authored
Dec 09, 2008
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
server: Get rid of the support for module snapshots, it is no longer needed.
parent
82280618
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
13 additions
and
185 deletions
+13
-185
nt.c
dlls/ntdll/nt.c
+0
-1
server_protocol.h
include/wine/server_protocol.h
+4
-29
process.c
server/process.c
+0
-24
process.h
server/process.h
+0
-9
protocol.def
server/protocol.def
+3
-20
request.h
server/request.h
+0
-2
snapshot.c
server/snapshot.c
+5
-78
trace.c
server/trace.c
+1
-22
No files found.
dlls/ntdll/nt.c
View file @
db6e4548
...
...
@@ -787,7 +787,6 @@ NTSTATUS WINAPI NtQuerySystemInformation(
{
req
->
flags
=
SNAP_PROCESS
|
SNAP_THREAD
;
req
->
attributes
=
0
;
req
->
pid
=
0
;
if
(
!
(
ret
=
wine_server_call
(
req
)))
hSnap
=
wine_server_ptr_handle
(
reply
->
handle
);
}
...
...
include/wine/server_protocol.h
View file @
db6e4548
...
...
@@ -1760,17 +1760,14 @@ struct add_mapping_committed_range_reply
};
#define SNAP_HEAPLIST 0x00000001
#define SNAP_PROCESS 0x00000002
#define SNAP_THREAD 0x00000004
#define SNAP_MODULE 0x00000008
#define SNAP_PROCESS 0x00000001
#define SNAP_THREAD 0x00000002
struct
create_snapshot_request
{
struct
request_header
__header
;
unsigned
int
attributes
;
int
flags
;
process_id_t
pid
;
unsigned
int
flags
;
};
struct
create_snapshot_reply
{
...
...
@@ -1792,8 +1789,6 @@ struct next_process_reply
int
count
;
process_id_t
pid
;
process_id_t
ppid
;
void
*
heap
;
void
*
module
;
int
threads
;
int
priority
;
int
handles
;
...
...
@@ -1820,23 +1815,6 @@ struct next_thread_reply
struct
next_module_request
{
struct
request_header
__header
;
obj_handle_t
handle
;
int
reset
;
};
struct
next_module_reply
{
struct
reply_header
__header
;
process_id_t
pid
;
void
*
base
;
size_t
size
;
/* VARARG(filename,unicode_str); */
};
struct
wait_debug_event_request
{
struct
request_header
__header
;
...
...
@@ -4424,7 +4402,6 @@ enum request
REQ_create_snapshot
,
REQ_next_process
,
REQ_next_thread
,
REQ_next_module
,
REQ_wait_debug_event
,
REQ_queue_exception_event
,
REQ_get_exception_status
,
...
...
@@ -4668,7 +4645,6 @@ union generic_request
struct
create_snapshot_request
create_snapshot_request
;
struct
next_process_request
next_process_request
;
struct
next_thread_request
next_thread_request
;
struct
next_module_request
next_module_request
;
struct
wait_debug_event_request
wait_debug_event_request
;
struct
queue_exception_event_request
queue_exception_event_request
;
struct
get_exception_status_request
get_exception_status_request
;
...
...
@@ -4910,7 +4886,6 @@ union generic_reply
struct
create_snapshot_reply
create_snapshot_reply
;
struct
next_process_reply
next_process_reply
;
struct
next_thread_reply
next_thread_reply
;
struct
next_module_reply
next_module_reply
;
struct
wait_debug_event_reply
wait_debug_event_reply
;
struct
queue_exception_event_reply
queue_exception_event_reply
;
struct
get_exception_status_reply
get_exception_status_reply
;
...
...
@@ -5071,6 +5046,6 @@ union generic_reply
struct
set_window_layered_info_reply
set_window_layered_info_reply
;
};
#define SERVER_PROTOCOL_VERSION 34
7
#define SERVER_PROTOCOL_VERSION 34
8
#endif
/* __WINE_WINE_SERVER_PROTOCOL_H */
server/process.c
View file @
db6e4548
...
...
@@ -861,30 +861,6 @@ struct process_snapshot *process_snap( int *count )
return
snapshot
;
}
/* take a snapshot of the modules of a process */
struct
module_snapshot
*
module_snap
(
struct
process
*
process
,
int
*
count
)
{
struct
module_snapshot
*
snapshot
,
*
ptr
;
struct
process_dll
*
dll
;
int
total
=
0
;
LIST_FOR_EACH_ENTRY
(
dll
,
&
process
->
dlls
,
struct
process_dll
,
entry
)
total
++
;
if
(
!
(
snapshot
=
mem_alloc
(
sizeof
(
*
snapshot
)
*
total
)))
return
NULL
;
ptr
=
snapshot
;
LIST_FOR_EACH_ENTRY
(
dll
,
&
process
->
dlls
,
struct
process_dll
,
entry
)
{
ptr
->
base
=
dll
->
base
;
ptr
->
size
=
dll
->
size
;
ptr
->
namelen
=
dll
->
namelen
;
ptr
->
filename
=
memdup
(
dll
->
filename
,
dll
->
namelen
);
ptr
++
;
}
*
count
=
total
;
return
snapshot
;
}
/* create a new process */
DECL_HANDLER
(
new_process
)
{
...
...
server/process.h
View file @
db6e4548
...
...
@@ -93,14 +93,6 @@ struct process_snapshot
int
handles
;
/* number of handles */
};
struct
module_snapshot
{
void
*
base
;
/* module base addr */
size_t
size
;
/* module size */
data_size_t
namelen
;
/* length of file name */
WCHAR
*
filename
;
/* module file name */
};
/* process functions */
extern
unsigned
int
alloc_ptid
(
void
*
ptr
);
...
...
@@ -127,7 +119,6 @@ extern void kill_debugged_processes( struct thread *debugger, int exit_code );
extern
void
break_process
(
struct
process
*
process
);
extern
void
detach_debugged_processes
(
struct
thread
*
debugger
);
extern
struct
process_snapshot
*
process_snap
(
int
*
count
);
extern
struct
module_snapshot
*
module_snap
(
struct
process
*
process
,
int
*
count
);
extern
void
enum_processes
(
int
(
*
cb
)(
struct
process
*
,
void
*
),
void
*
user
);
/* console functions */
...
...
server/protocol.def
View file @
db6e4548
...
...
@@ -1381,15 +1381,12 @@ enum char_info_mode
@END
#define SNAP_HEAPLIST 0x00000001
#define SNAP_PROCESS 0x00000002
#define SNAP_THREAD 0x00000004
#define SNAP_MODULE 0x00000008
#define SNAP_PROCESS 0x00000001
#define SNAP_THREAD 0x00000002
/* Create a snapshot */
@REQ(create_snapshot)
unsigned int attributes; /* object attributes */
int flags; /* snapshot flags (SNAP_*) */
process_id_t pid; /* process id */
unsigned int flags; /* snapshot flags (SNAP_*) */
@REPLY
obj_handle_t handle; /* handle to the snapshot */
@END
...
...
@@ -1403,8 +1400,6 @@ enum char_info_mode
int count; /* process usage count */
process_id_t pid; /* process id */
process_id_t ppid; /* parent process id */
void* heap; /* heap base */
void* module; /* main module */
int threads; /* number of threads */
int priority; /* process priority */
int handles; /* number of handles */
...
...
@@ -1425,18 +1420,6 @@ enum char_info_mode
@END
/* Get the next module from a snapshot */
@REQ(next_module)
obj_handle_t handle; /* handle to the snapshot */
int reset; /* reset snapshot position? */
@REPLY
process_id_t pid; /* process id */
void* base; /* module base address */
size_t size; /* module size */
VARARG(filename,unicode_str); /* file name of module */
@END
/* Wait for a debug event */
@REQ(wait_debug_event)
int get_handle; /* should we alloc a handle for waiting? */
...
...
server/request.h
View file @
db6e4548
...
...
@@ -189,7 +189,6 @@ DECL_HANDLER(add_mapping_committed_range);
DECL_HANDLER
(
create_snapshot
);
DECL_HANDLER
(
next_process
);
DECL_HANDLER
(
next_thread
);
DECL_HANDLER
(
next_module
);
DECL_HANDLER
(
wait_debug_event
);
DECL_HANDLER
(
queue_exception_event
);
DECL_HANDLER
(
get_exception_status
);
...
...
@@ -432,7 +431,6 @@ static const req_handler req_handlers[REQ_NB_REQUESTS] =
(
req_handler
)
req_create_snapshot
,
(
req_handler
)
req_next_process
,
(
req_handler
)
req_next_thread
,
(
req_handler
)
req_next_module
,
(
req_handler
)
req_wait_debug_event
,
(
req_handler
)
req_queue_exception_event
,
(
req_handler
)
req_get_exception_status
,
...
...
server/snapshot.c
View file @
db6e4548
...
...
@@ -42,16 +42,12 @@
struct
snapshot
{
struct
object
obj
;
/* object header */
struct
process
*
process
;
/* process of this snapshot (for modules and heaps) */
struct
process_snapshot
*
processes
;
/* processes snapshot */
int
process_count
;
/* count of processes */
int
process_pos
;
/* current position in proc snapshot */
struct
thread_snapshot
*
threads
;
/* threads snapshot */
int
thread_count
;
/* count of threads */
int
thread_pos
;
/* current position in thread snapshot */
struct
module_snapshot
*
modules
;
/* modules snapshot */
int
module_count
;
/* count of modules */
int
module_pos
;
/* current position in module snapshot */
};
static
void
snapshot_dump
(
struct
object
*
obj
,
int
verbose
);
...
...
@@ -79,25 +75,11 @@ static const struct object_ops snapshot_ops =
/* create a new snapshot */
static
struct
snapshot
*
create_snapshot
(
process_id_t
pid
,
int
flags
)
static
struct
snapshot
*
create_snapshot
(
unsigned
int
flags
)
{
struct
process
*
process
=
NULL
;
struct
snapshot
*
snapshot
;
/* need a process for modules and heaps */
if
(
flags
&
(
SNAP_MODULE
|
SNAP_HEAPLIST
))
{
if
(
!
pid
)
process
=
(
struct
process
*
)
grab_object
(
current
->
process
);
else
if
(
!
(
process
=
get_process_from_id
(
pid
)))
return
NULL
;
}
if
(
!
(
snapshot
=
alloc_object
(
&
snapshot_ops
)))
{
if
(
process
)
release_object
(
process
);
return
NULL
;
}
snapshot
->
process
=
process
;
if
(
!
(
snapshot
=
alloc_object
(
&
snapshot_ops
)))
return
NULL
;
snapshot
->
process_pos
=
0
;
snapshot
->
process_count
=
0
;
...
...
@@ -109,11 +91,6 @@ static struct snapshot *create_snapshot( process_id_t pid, int flags )
if
(
flags
&
SNAP_THREAD
)
snapshot
->
threads
=
thread_snap
(
&
snapshot
->
thread_count
);
snapshot
->
module_pos
=
0
;
snapshot
->
module_count
=
0
;
if
(
flags
&
SNAP_MODULE
)
snapshot
->
modules
=
module_snap
(
process
,
&
snapshot
->
module_count
);
return
snapshot
;
}
...
...
@@ -137,8 +114,6 @@ static int snapshot_next_process( struct snapshot *snapshot, struct next_process
reply
->
count
=
ptr
->
count
;
reply
->
pid
=
get_process_id
(
ptr
->
process
);
reply
->
ppid
=
ptr
->
process
->
parent
?
get_process_id
(
ptr
->
process
->
parent
)
:
0
;
reply
->
heap
=
NULL
;
/* FIXME */
reply
->
module
=
NULL
;
/* FIXME */
reply
->
threads
=
ptr
->
threads
;
reply
->
priority
=
ptr
->
priority
;
reply
->
handles
=
ptr
->
handles
;
...
...
@@ -174,39 +149,12 @@ static int snapshot_next_thread( struct snapshot *snapshot, struct next_thread_r
return
1
;
}
/* get the next module in the snapshot */
static
int
snapshot_next_module
(
struct
snapshot
*
snapshot
,
struct
next_module_reply
*
reply
)
{
struct
module_snapshot
*
ptr
;
if
(
!
snapshot
->
module_count
)
{
set_error
(
STATUS_INVALID_PARAMETER
);
/* FIXME */
return
0
;
}
if
(
snapshot
->
module_pos
>=
snapshot
->
module_count
)
{
set_error
(
STATUS_NO_MORE_FILES
);
return
0
;
}
ptr
=
&
snapshot
->
modules
[
snapshot
->
module_pos
++
];
reply
->
pid
=
get_process_id
(
snapshot
->
process
);
reply
->
base
=
ptr
->
base
;
reply
->
size
=
ptr
->
size
;
if
(
ptr
->
filename
)
{
data_size_t
len
=
min
(
ptr
->
namelen
,
get_reply_max_size
()
);
set_reply_data
(
ptr
->
filename
,
len
);
}
return
1
;
}
static
void
snapshot_dump
(
struct
object
*
obj
,
int
verbose
)
{
struct
snapshot
*
snapshot
=
(
struct
snapshot
*
)
obj
;
assert
(
obj
->
ops
==
&
snapshot_ops
);
fprintf
(
stderr
,
"Snapshot: %d procs %d threads
%d modules
\n
"
,
snapshot
->
process_count
,
snapshot
->
thread_count
,
snapshot
->
module_count
);
fprintf
(
stderr
,
"Snapshot: %d procs %d threads
\n
"
,
snapshot
->
process_count
,
snapshot
->
thread_count
);
}
static
void
snapshot_destroy
(
struct
object
*
obj
)
...
...
@@ -226,13 +174,6 @@ static void snapshot_destroy( struct object *obj )
release_object
(
snapshot
->
threads
[
i
].
thread
);
free
(
snapshot
->
threads
);
}
if
(
snapshot
->
module_count
)
{
for
(
i
=
0
;
i
<
snapshot
->
module_count
;
i
++
)
free
(
snapshot
->
modules
[
i
].
filename
);
free
(
snapshot
->
modules
);
}
if
(
snapshot
->
process
)
release_object
(
snapshot
->
process
);
}
/* create a snapshot */
...
...
@@ -241,7 +182,7 @@ DECL_HANDLER(create_snapshot)
struct
snapshot
*
snapshot
;
reply
->
handle
=
0
;
if
((
snapshot
=
create_snapshot
(
req
->
pid
,
req
->
flags
)))
if
((
snapshot
=
create_snapshot
(
req
->
flags
)))
{
reply
->
handle
=
alloc_handle
(
current
->
process
,
snapshot
,
0
,
req
->
attributes
);
release_object
(
snapshot
);
...
...
@@ -275,17 +216,3 @@ DECL_HANDLER(next_thread)
release_object
(
snapshot
);
}
}
/* get the next module from a snapshot */
DECL_HANDLER
(
next_module
)
{
struct
snapshot
*
snapshot
;
if
((
snapshot
=
(
struct
snapshot
*
)
get_handle_obj
(
current
->
process
,
req
->
handle
,
0
,
&
snapshot_ops
)))
{
if
(
req
->
reset
)
snapshot
->
module_pos
=
0
;
snapshot_next_module
(
snapshot
,
reply
);
release_object
(
snapshot
);
}
}
server/trace.c
View file @
db6e4548
...
...
@@ -1813,8 +1813,7 @@ static void dump_add_mapping_committed_range_request( const struct add_mapping_c
static
void
dump_create_snapshot_request
(
const
struct
create_snapshot_request
*
req
)
{
fprintf
(
stderr
,
" attributes=%08x,"
,
req
->
attributes
);
fprintf
(
stderr
,
" flags=%d,"
,
req
->
flags
);
fprintf
(
stderr
,
" pid=%04x"
,
req
->
pid
);
fprintf
(
stderr
,
" flags=%08x"
,
req
->
flags
);
}
static
void
dump_create_snapshot_reply
(
const
struct
create_snapshot_reply
*
req
)
...
...
@@ -1833,8 +1832,6 @@ static void dump_next_process_reply( const struct next_process_reply *req )
fprintf
(
stderr
,
" count=%d,"
,
req
->
count
);
fprintf
(
stderr
,
" pid=%04x,"
,
req
->
pid
);
fprintf
(
stderr
,
" ppid=%04x,"
,
req
->
ppid
);
fprintf
(
stderr
,
" heap=%p,"
,
req
->
heap
);
fprintf
(
stderr
,
" module=%p,"
,
req
->
module
);
fprintf
(
stderr
,
" threads=%d,"
,
req
->
threads
);
fprintf
(
stderr
,
" priority=%d,"
,
req
->
priority
);
fprintf
(
stderr
,
" handles=%d,"
,
req
->
handles
);
...
...
@@ -1857,21 +1854,6 @@ static void dump_next_thread_reply( const struct next_thread_reply *req )
fprintf
(
stderr
,
" delta_pri=%d"
,
req
->
delta_pri
);
}
static
void
dump_next_module_request
(
const
struct
next_module_request
*
req
)
{
fprintf
(
stderr
,
" handle=%04x,"
,
req
->
handle
);
fprintf
(
stderr
,
" reset=%d"
,
req
->
reset
);
}
static
void
dump_next_module_reply
(
const
struct
next_module_reply
*
req
)
{
fprintf
(
stderr
,
" pid=%04x,"
,
req
->
pid
);
fprintf
(
stderr
,
" base=%p,"
,
req
->
base
);
fprintf
(
stderr
,
" size=%lu,"
,
(
unsigned
long
)
req
->
size
);
fprintf
(
stderr
,
" filename="
);
dump_varargs_unicode_str
(
cur_size
);
}
static
void
dump_wait_debug_event_request
(
const
struct
wait_debug_event_request
*
req
)
{
fprintf
(
stderr
,
" get_handle=%d"
,
req
->
get_handle
);
...
...
@@ -3904,7 +3886,6 @@ static const dump_func req_dumpers[REQ_NB_REQUESTS] = {
(
dump_func
)
dump_create_snapshot_request
,
(
dump_func
)
dump_next_process_request
,
(
dump_func
)
dump_next_thread_request
,
(
dump_func
)
dump_next_module_request
,
(
dump_func
)
dump_wait_debug_event_request
,
(
dump_func
)
dump_queue_exception_event_request
,
(
dump_func
)
dump_get_exception_status_request
,
...
...
@@ -4144,7 +4125,6 @@ static const dump_func reply_dumpers[REQ_NB_REQUESTS] = {
(
dump_func
)
dump_create_snapshot_reply
,
(
dump_func
)
dump_next_process_reply
,
(
dump_func
)
dump_next_thread_reply
,
(
dump_func
)
dump_next_module_reply
,
(
dump_func
)
dump_wait_debug_event_reply
,
(
dump_func
)
dump_queue_exception_event_reply
,
(
dump_func
)
dump_get_exception_status_reply
,
...
...
@@ -4384,7 +4364,6 @@ static const char * const req_names[REQ_NB_REQUESTS] = {
"create_snapshot"
,
"next_process"
,
"next_thread"
,
"next_module"
,
"wait_debug_event"
,
"queue_exception_event"
,
"get_exception_status"
,
...
...
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