diff options
author | Tom Tromey <tromey@adacore.com> | 2020-04-08 14:33:35 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2020-04-08 14:47:58 -0600 |
commit | 2950fdf7423a404f6ebc691606d04917fd68228a (patch) | |
tree | 3072d75a13dd55ea955f206737a2b75a5a547003 /gdb | |
parent | 62fe396b1cba6b0c3d06b758d9f8254c6d538ad8 (diff) | |
download | gdb-2950fdf7423a404f6ebc691606d04917fd68228a.zip gdb-2950fdf7423a404f6ebc691606d04917fd68228a.tar.gz gdb-2950fdf7423a404f6ebc691606d04917fd68228a.tar.bz2 |
Make windows_thread_info::name a unique_xmalloc_ptr
This changes windows_thread_info::name to be a unique_xmalloc_ptr,
removing some manual memory management.
gdb/ChangeLog
2020-04-08 Tom Tromey <tromey@adacore.com>
* windows-nat.c (handle_exception)
(windows_nat_target::thread_name): Update.
* nat/windows-nat.h (windows_thread_info): Remove destructor.
<name>: Now unique_xmalloc_ptr.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/nat/windows-nat.h | 7 | ||||
-rw-r--r-- | gdb/windows-nat.c | 5 |
3 files changed, 10 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6fce48c..a7ffec7 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,12 @@ 2020-04-08 Tom Tromey <tromey@adacore.com> + * windows-nat.c (handle_exception) + (windows_nat_target::thread_name): Update. + * nat/windows-nat.h (windows_thread_info): Remove destructor. + <name>: Now unique_xmalloc_ptr. + +2020-04-08 Tom Tromey <tromey@adacore.com> + * windows-nat.c (thread_rec) (windows_nat_target::fetch_registers): Update. * nat/windows-nat.h (struct windows_thread_info) <suspended>: diff --git a/gdb/nat/windows-nat.h b/gdb/nat/windows-nat.h index 27fd7ed..543de89 100644 --- a/gdb/nat/windows-nat.h +++ b/gdb/nat/windows-nat.h @@ -32,11 +32,6 @@ struct windows_thread_info { } - ~windows_thread_info () - { - xfree (name); - } - DISABLE_COPY_AND_ASSIGN (windows_thread_info); /* The Win32 thread identifier. */ @@ -77,7 +72,7 @@ struct windows_thread_info bool reload_context = false; /* The name of the thread, allocated by xmalloc. */ - char *name = nullptr; + gdb::unique_xmalloc_ptr<char> name; }; #endif diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c index b7f21cb..7fbc9a4 100644 --- a/gdb/windows-nat.c +++ b/gdb/windows-nat.c @@ -1414,8 +1414,7 @@ handle_exception (struct target_waitstatus *ourstatus) if (thread_name_len > 0) { thread_name.get ()[thread_name_len - 1] = '\0'; - xfree (named_thread->name); - named_thread->name = thread_name.release (); + named_thread->name = std::move (thread_name); } } ourstatus->value.sig = GDB_SIGNAL_TRAP; @@ -3394,7 +3393,7 @@ windows_nat_target::get_ada_task_ptid (long lwp, long thread) const char * windows_nat_target::thread_name (struct thread_info *thr) { - return thread_rec (thr->ptid.tid (), 0)->name; + return thread_rec (thr->ptid.tid (), 0)->name.get (); } |