Move kernel/userland thread handling to platform-independent implementation

This commit is contained in:
Benny Baumann
2021-04-10 14:08:26 +02:00
committed by BenBE
parent 1a1fddae85
commit 7224d0e083
19 changed files with 49 additions and 106 deletions

View File

@ -26,24 +26,18 @@ in the source distribution for its full text.
typedef struct SolarisProcess_ {
Process super;
int kernel;
zoneid_t zoneid;
char* zname;
taskid_t taskid;
projid_t projid;
poolid_t poolid;
ctid_t contid;
bool is_lwp;
pid_t realpid;
pid_t realppid;
pid_t realtgid;
pid_t lwpid;
} SolarisProcess;
#define Process_isKernelThread(_process) (_process->kernel == 1)
#define Process_isUserlandThread(_process) (_process->pid != _process->tgid)
extern const ProcessClass SolarisProcess_class;
extern const ProcessFieldData Process_fields[LAST_PROCESSFIELD];
@ -52,6 +46,4 @@ Process* SolarisProcess_new(const Settings* settings);
void Process_delete(Object* cast);
bool Process_isThread(const Process* this);
#endif