Solaris: Implement LWP enumeration (#768)

Squashed the following commits:

* Solaris: Get LWP enumeration working
* Solaris: Make showing and hiding of kernel threads behave
* Solaris: remove usage of lwpstatus that is no longer needed
* Solaris: no discrete access to parent proc structure needed
* Solaris: Restore runtime MaxPid detection after LWP changes
* Solaris: Workaround virtual PID signal issue by shadowing kill() with a macro
* Solaris: Fix unintention double-shifting of virtual PID for LWP enumeration
* Solaris: Add LWPID to default display since LWP enumeration is also default
* Solaris: use PAGE_SIZE_KB from Process.h instead of custom definition
* Solaris: stop LWP enumeration at 1023 LWPs per proc since that is all we can handle in the virtual PID
This commit is contained in:
gmbroome
2018-03-27 12:27:12 -04:00
committed by Hisham Muhammad
parent 1cf8f429a5
commit 42c3a1fcb3
6 changed files with 209 additions and 21 deletions

View File

@ -21,7 +21,8 @@ typedef enum SolarisProcessFields {
TASKID = 103,
POOLID = 104,
CONTID = 105,
LAST_PROCESSFIELD = 106,
LWPID = 106,
LAST_PROCESSFIELD = 107,
} SolarisProcessField;
@ -34,6 +35,10 @@ typedef struct SolarisProcess_ {
projid_t projid;
poolid_t poolid;
ctid_t contid;
bool is_lwp;
pid_t realpid;
pid_t realppid;
pid_t lwpid;
} SolarisProcess;