diff options
| author | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-12-18 22:44:04 +0000 |
|---|---|---|
| committer | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-12-18 22:44:04 +0000 |
| commit | 2b1319c85c94b7defef2ac2191bb50d773c81db4 (patch) | |
| tree | 14e178eb62fc1cdd9a41f29e4c85509c5e0b6da9 /gdbstub.c | |
| parent | 6f9c5ee782e983f00e81a7cbd98900bdac9b3e6c (diff) | |
| download | focaccia-qemu-2b1319c85c94b7defef2ac2191bb50d773c81db4.tar.gz focaccia-qemu-2b1319c85c94b7defef2ac2191bb50d773c81db4.zip | |
User-mode GDB stub improvements - handle fork
Close gdbserver in child processes, so that only one stub tries to talk to GDB at a time. Updated from an earlier patch by Paul Brook. Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6095 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'gdbstub.c')
| -rw-r--r-- | gdbstub.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gdbstub.c b/gdbstub.c index 72feac67bb..2e112b252d 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -1996,6 +1996,18 @@ int gdbserver_start(int port) gdb_accept(); return 0; } + +/* Disable gdb stub for child processes. */ +void gdbserver_fork(CPUState *env) +{ + GDBState *s = gdbserver_state; + if (s->fd < 0) + return; + close(s->fd); + s->fd = -1; + cpu_breakpoint_remove_all(env, BP_GDB); + cpu_watchpoint_remove_all(env, BP_GDB); +} #else static int gdb_chr_can_receive(void *opaque) { |