Jacek Caban : server: Remove no longer needed break_process.
Alexandre Julliard
julliard at winehq.org
Fri Jul 5 14:49:18 CDT 2019
Module: wine
Branch: master
Commit: b0ae02bea6c905ba989bf2cc2c91130ea7eb53bc
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b0ae02bea6c905ba989bf2cc2c91130ea7eb53bc
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Jul 5 13:24:29 2019 +0200
server: Remove no longer needed break_process.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
server/process.c | 22 ----------------------
server/process.h | 1 -
server/thread.c | 35 -----------------------------------
server/thread.h | 2 --
server/trace.c | 1 -
5 files changed, 61 deletions(-)
diff --git a/server/process.c b/server/process.c
index beaa686..b67bd88 100644
--- a/server/process.c
+++ b/server/process.c
@@ -1041,28 +1041,6 @@ void kill_debugged_processes( struct thread *debugger, int exit_code )
}
-/* trigger a breakpoint event in a given process */
-void break_process( struct process *process )
-{
- struct thread *thread;
-
- suspend_process( process );
-
- LIST_FOR_EACH_ENTRY( thread, &process->thread_list, struct thread, proc_entry )
- {
- if (thread->context) /* inside an exception event already */
- {
- break_thread( thread );
- goto done;
- }
- }
- if ((thread = get_process_first_thread( process ))) thread->debug_break = 1;
- else set_error( STATUS_ACCESS_DENIED );
-done:
- resume_process( process );
-}
-
-
/* detach a debugger from all its debuggees */
void detach_debugged_processes( struct thread *debugger )
{
diff --git a/server/process.h b/server/process.h
index d9d29f0..20503a2 100644
--- a/server/process.h
+++ b/server/process.h
@@ -135,7 +135,6 @@ extern void resume_process( struct process *process );
extern void kill_process( struct process *process, int violent_death );
extern void kill_console_processes( struct thread *renderer, int exit_code );
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 void enum_processes( int (*cb)(struct process*, void*), void *user);
diff --git a/server/thread.c b/server/thread.c
index 63eea94..d5742a1 100644
--- a/server/thread.c
+++ b/server/thread.c
@@ -185,7 +185,6 @@ static inline void init_thread_structure( struct thread *thread )
thread->entry_point = 0;
thread->debug_ctx = NULL;
thread->debug_event = NULL;
- thread->debug_break = 0;
thread->system_regs = 0;
thread->queue = NULL;
thread->wait = NULL;
@@ -1198,39 +1197,6 @@ static unsigned int get_context_system_regs( enum cpu_type cpu )
return 0;
}
-/* trigger a breakpoint event in a given thread */
-void break_thread( struct thread *thread )
-{
- debug_event_t data;
-
- assert( thread->context );
-
- memset( &data, 0, sizeof(data) );
- data.exception.first = 1;
- data.exception.exc_code = STATUS_BREAKPOINT;
- data.exception.flags = EXCEPTION_CONTINUABLE;
- switch (thread->context->cpu)
- {
- case CPU_x86:
- data.exception.address = thread->context->ctl.i386_regs.eip;
- break;
- case CPU_x86_64:
- data.exception.address = thread->context->ctl.x86_64_regs.rip;
- break;
- case CPU_POWERPC:
- data.exception.address = thread->context->ctl.powerpc_regs.iar;
- break;
- case CPU_ARM:
- data.exception.address = thread->context->ctl.arm_regs.pc;
- break;
- case CPU_ARM64:
- data.exception.address = thread->context->ctl.arm64_regs.pc;
- break;
- }
- generate_debug_event( thread, EXCEPTION_DEBUG_EVENT, &data );
- thread->debug_break = 0;
-}
-
/* take a snapshot of currently running threads */
struct thread_snapshot *thread_snap( int *count )
{
@@ -1829,7 +1795,6 @@ DECL_HANDLER(set_suspend_context)
memcpy( current->suspend_context, get_req_data(), sizeof(context_t) );
current->suspend_context->flags = 0; /* to keep track of what is modified */
current->context = current->suspend_context;
- if (current->debug_break) break_thread( current );
}
}
diff --git a/server/thread.h b/server/thread.h
index 8bf7d73..40f0eec 100644
--- a/server/thread.h
+++ b/server/thread.h
@@ -56,7 +56,6 @@ struct thread
struct list mutex_list; /* list of currently owned mutexes */
struct debug_ctx *debug_ctx; /* debugger context if this thread is a debugger */
struct debug_event *debug_event; /* debug event being sent to debugger */
- int debug_break; /* debug breakpoint pending? */
unsigned int system_regs; /* which system regs have been set */
struct msg_queue *queue; /* message queue */
struct thread_wait *wait; /* current wait condition if sleeping */
@@ -120,7 +119,6 @@ extern int wake_thread_queue_entry( struct wait_queue_entry *entry );
extern int add_queue( struct object *obj, struct wait_queue_entry *entry );
extern void remove_queue( struct object *obj, struct wait_queue_entry *entry );
extern void kill_thread( struct thread *thread, int violent_death );
-extern void break_thread( struct thread *thread );
extern void wake_up( struct object *obj, int max );
extern int thread_queue_apc( struct process *process, struct thread *thread, struct object *owner, const apc_call_t *call_data );
extern void thread_cancel_apc( struct thread *thread, struct object *owner, enum apc_type type );
diff --git a/server/trace.c b/server/trace.c
index af87a5d..3213490 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -5510,7 +5510,6 @@ static const struct
{ "ALIAS_EXISTS", STATUS_ALIAS_EXISTS },
{ "BAD_DEVICE_TYPE", STATUS_BAD_DEVICE_TYPE },
{ "BAD_IMPERSONATION_LEVEL", STATUS_BAD_IMPERSONATION_LEVEL },
- { "BREAKPOINT", STATUS_BREAKPOINT },
{ "BUFFER_OVERFLOW", STATUS_BUFFER_OVERFLOW },
{ "BUFFER_TOO_SMALL", STATUS_BUFFER_TOO_SMALL },
{ "CANCELLED", STATUS_CANCELLED },
More information about the wine-cvs
mailing list