[Lldb-commits] [PATCH] Consolidate UnixSignals setting/getting in Process.

Todd Fiala tfiala at google.com
Thu Aug 28 12:53:10 PDT 2014


Hi emaste,

This change does the following:
* eliminates the Process::GetUnixSignals() virtual method and replaces with a fixed getter.
* replaces the Process UnixSignals storage with a shared pointer.
* guarantees that Process::GetUnixSignals() can always return a UnixSignals reference.
* adds a Process constructor variant that can be passed the UnixSignalsSP.  When the constructor without the UnixSignalsSP is specified, the Host's default UnixSignals is used.
* adds a host-specific version of GetUnixSignals() that is used when we need the host's appropriate UnixSignals variant.
* replaces GetUnixSignals() overrides in PlatformElfCore, ProcessGDBRemote, ProcessFreeBSD and ProcessLinux with code that appropriately sets the Process::UnixSignals for the process.

This change also enables some future patches that will enable llgs to be used for local Linux debugging.

Note I'm not currently using HostInfo for GetUnixSignals.  I am happy to do that in a follow-up patch, but right now I want to minimize the number of changes vs. other branches and keep that other change separate.

http://reviews.llvm.org/D5108

Files:
  include/lldb/Host/Host.h
  include/lldb/Target/Process.h
  include/lldb/lldb-private-forward.h
  lldb.xcodeproj/project.pbxproj
  source/Host/common/Host.cpp
  source/Host/freebsd/Host.cpp
  source/Host/linux/Host.cpp
  source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
  source/Plugins/Process/FreeBSD/ProcessFreeBSD.h
  source/Plugins/Process/Linux/ProcessLinux.cpp
  source/Plugins/Process/Linux/ProcessLinux.h
  source/Plugins/Process/POSIX/ProcessPOSIX.cpp
  source/Plugins/Process/POSIX/ProcessPOSIX.h
  source/Plugins/Process/elf-core/ProcessElfCore.cpp
  source/Plugins/Process/elf-core/ProcessElfCore.h
  source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
  source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
  source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
  source/Target/Process.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5108.13053.patch
Type: text/x-patch
Size: 24108 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20140828/dbcc90d8/attachment.bin>


More information about the lldb-commits mailing list