diff options
author | qiyao <qiyao> | 2013-06-07 00:19:35 +0000 |
---|---|---|
committer | qiyao <qiyao> | 2013-06-07 00:19:35 +0000 |
commit | 1c84a012eae901086a22b0fb01b4b4e142c584c3 (patch) | |
tree | b1f0761f2aa0203b479b51cd6a1474da308c08fe /gdb/tracepoint.c | |
parent | e11f0c0337e63b9170900b452ca0990f804d729c (diff) | |
download | gdb-1c84a012eae901086a22b0fb01b4b4e142c584c3.tar.gz |
gdb/
* tracepoint.c (start_tracing): Move code to ...
(trace_reset_local_state): ... here. New.
(disconnect_tracing): Don't call set_current_traceframe,
set_tracepoint_num, and set_traceframe_context. Call
trace_reset_local_state instead.
(tfile_close): Call trace_reset_local_state.
* ctf.c (ctf_close): Likewise.
* remote.c (remote_close): Likewise.
* tracepoint.h (trace_reset_local_state): Declare.
Diffstat (limited to 'gdb/tracepoint.c')
-rw-r--r-- | gdb/tracepoint.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index d6ff051b388..5bad3e8c74e 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -1700,6 +1700,16 @@ process_tracepoint_on_disconnect (void) " GDB is disconnected\n")); } +/* Reset local state of tracing. */ + +void +trace_reset_local_state (void) +{ + set_traceframe_num (-1); + set_tracepoint_num (-1); + set_traceframe_context (NULL); + clear_traceframe_info (); +} void start_tracing (char *notes) @@ -1822,11 +1832,8 @@ start_tracing (char *notes) target_trace_start (); /* Reset our local state. */ - set_traceframe_num (-1); - set_tracepoint_num (-1); - set_traceframe_context (NULL); + trace_reset_local_state (); current_trace_status()->running = 1; - clear_traceframe_info (); } /* The tstart command requests the target to start a new trace run. @@ -2234,9 +2241,7 @@ disconnect_tracing (void) confusing upon reconnection. Just use these calls instead of full tfind_1 behavior because we're in the middle of detaching, and there's no point to updating current stack frame etc. */ - set_current_traceframe (-1); - set_tracepoint_num (-1); - set_traceframe_context (NULL); + trace_reset_local_state (); } /* Worker function for the various flavors of the tfind command. */ @@ -4657,6 +4662,8 @@ tfile_close (void) trace_fd = -1; xfree (trace_filename); trace_filename = NULL; + + trace_reset_local_state (); } static void |