Added use_ptrace flag to disable ptrace usage. Should eventually be
made into an option.
diff --git a/server/thread.c b/server/thread.c
index a33a6ed..cee63d9 100644
--- a/server/thread.c
+++ b/server/thread.c
@@ -82,6 +82,7 @@
destroy_thread
};
+static const int use_ptrace = 1; /* set to 0 to disable ptrace */
static struct thread *first_thread;
/* allocate the buffer for the communication with the client */
@@ -292,7 +293,7 @@
static int attach_thread( struct thread *thread )
{
/* this may fail if the client is already being debugged */
- if (ptrace( PTRACE_ATTACH, thread->unix_pid, 0, 0 ) == -1) return 0;
+ if (!use_ptrace || (ptrace( PTRACE_ATTACH, thread->unix_pid, 0, 0 ) == -1)) return 0;
if (debug_level) fprintf( stderr, "ptrace: attached to pid %d\n", thread->unix_pid );
thread->attached = 1;
wait4_thread( thread, SIGSTOP );